<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wwangzai的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wwangzai</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wwangzai]]></copyright><item><title><![CDATA[最长有效括号]]></title><link>https://blog.youkuaiyun.com/wwangzai/article/details/103120841</link><guid>https://blog.youkuaiyun.com/wwangzai/article/details/103120841</guid><author>wwangzai</author><pubDate>Mon, 18 Nov 2019 14:16:50 +0800</pubDate><description><![CDATA[最长有效括号问题（动态规划）问题描述：示例１：示例２：问题分析：过程:代码：
问题描述：

给定一个只包含 ‘(’ 和 ‘)’ 的字符串，找出最长的包含有效括号的子串的长度。

示例１：

输入: “(()”
输出: 2
解释: 最长有效括号子串为 “()”

示例２：

输入: “)()())”
输出: 4
解释: 最长有效括号子串为 “()()”

问题分析：
用数组dp[i]表示括号串s[i...]]></description><category></category></item><item><title><![CDATA[编辑距离问题（动态规划）]]></title><link>https://blog.youkuaiyun.com/wwangzai/article/details/103112644</link><guid>https://blog.youkuaiyun.com/wwangzai/article/details/103112644</guid><author>wwangzai</author><pubDate>Sun, 17 Nov 2019 20:14:13 +0800</pubDate><description><![CDATA[zhai]]></description><category></category></item><item><title><![CDATA[读者写者问题的写者优先算法]]></title><link>https://blog.youkuaiyun.com/wwangzai/article/details/103096769</link><guid>https://blog.youkuaiyun.com/wwangzai/article/details/103096769</guid><author>wwangzai</author><pubDate>Sat, 16 Nov 2019 11:35:30 +0800</pubDate><description><![CDATA[读者写者问题的写者优先算法问题描述：写者优先问题分析：需要用到的变量和信号量：算法如下：
问题描述：
有读者(reader)和写者(writer)两组并发进程，共享一个文件，当两个或以上的读进程同时访问共享数据时不会产生副作用，但若某个写进程和其他进程（读进程或写进程）同时访问共享数据时则可能导致数据不一致的错误。
因此要求：

① 允许多个读进程可以同时对文件执行读操作；
② 只允许一个写进程往...]]></description><category></category></item><item><title><![CDATA[根据一颗树的先序遍历和中序遍历构造二叉树]]></title><link>https://blog.youkuaiyun.com/wwangzai/article/details/102960884</link><guid>https://blog.youkuaiyun.com/wwangzai/article/details/102960884</guid><author>wwangzai</author><pubDate>Thu, 07 Nov 2019 19:00:40 +0800</pubDate><description><![CDATA[根据一颗树的先序遍历和中序遍历构造二叉树
例如：前序遍历 preorder= [3,9,20,15,7]
​            中序遍历 inorder= [9,3,15,20,7]
根据先序遍历的特点，在preorder出现的第一个数即为数的根。再根据中序遍历的特点，在中序遍历数组中 ，根节点前面的所有数是 根节点左子树中的数，在根节点 后面的数都是根节点右子树中的数。
按照上述例子，3是第...]]></description><category></category></item><item><title><![CDATA[求二叉树的深度]]></title><link>https://blog.youkuaiyun.com/wwangzai/article/details/102943097</link><guid>https://blog.youkuaiyun.com/wwangzai/article/details/102943097</guid><author>wwangzai</author><pubDate>Wed, 06 Nov 2019 20:59:58 +0800</pubDate><description><![CDATA[求二叉树的深度
给定一棵二叉树，求二叉树的深度
最简洁的代码，（1行）。
用递归的方法，最大深度等于左右子树的最大深度加1.
终止条件：根节点为null ，返回0
public class L104 {
    /*
    求二叉树的最大深度
     */
    public  int maxDepth(TreeNode treeNode){
        
        return ...]]></description><category></category></item><item><title><![CDATA[验证二叉搜索树]]></title><link>https://blog.youkuaiyun.com/wwangzai/article/details/102942880</link><guid>https://blog.youkuaiyun.com/wwangzai/article/details/102942880</guid><author>wwangzai</author><pubDate>Wed, 06 Nov 2019 20:46:41 +0800</pubDate><description><![CDATA[验证二叉搜索树
题目描述：给点一个二叉树，验证其是否为一个有效的搜索二叉树
二叉搜索树的特点

1：节点的左子树只包含小于当前节点的数
2：节点的右子树只包含大于当前节点的数
3：所有左子树和右子树自身也必须是二叉搜索树

总结一下：二叉搜索树用中序遍历出来的序列是递增的，可以用这个作为突破口去 验证一颗树是否为二叉搜索树。
先定义树的节点。
public class TreeNode {
   ...]]></description><category></category></item></channel></rss>