- 博客(6)
- 收藏
- 关注
原创 最长有效括号
最长有效括号问题(动态规划)问题描述:示例1:示例2:问题分析:过程:代码: 问题描述: 给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。 示例1: 输入: “(()” 输出: 2 解释: 最长有效括号子串为 “()” 示例2: 输入: “)()())” 输出: 4 解释: 最长有效括号子串为 “()()” 问题分析: 用数组dp[i]表示括号串s[i...
2019-11-18 14:16:50
165
原创 读者写者问题的写者优先算法
读者写者问题的写者优先算法问题描述:写者优先问题分析:需要用到的变量和信号量:算法如下: 问题描述: 有读者(reader)和写者(writer)两组并发进程,共享一个文件,当两个或以上的读进程同时访问共享数据时不会产生副作用,但若某个写进程和其他进程(读进程或写进程)同时访问共享数据时则可能导致数据不一致的错误。 因此要求: ① 允许多个读进程可以同时对文件执行读操作; ② 只允许一个写进程往...
2019-11-16 11:35:30
9298
8
原创 根据一颗树的先序遍历和中序遍历构造二叉树
根据一颗树的先序遍历和中序遍历构造二叉树 例如:前序遍历 preorder= [3,9,20,15,7] 中序遍历 inorder= [9,3,15,20,7] 根据先序遍历的特点,在preorder出现的第一个数即为数的根。再根据中序遍历的特点,在中序遍历数组中 ,根节点前面的所有数是 根节点左子树中的数,在根节点 后面的数都是根节点右子树中的数。 按照上述例子,3是第...
2019-11-07 19:00:40
329
原创 求二叉树的深度
求二叉树的深度 给定一棵二叉树,求二叉树的深度 最简洁的代码,(1行)。 用递归的方法,最大深度等于左右子树的最大深度加1. 终止条件:根节点为null ,返回0 public class L104 { /* 求二叉树的最大深度 */ public int maxDepth(TreeNode treeNode){ return ...
2019-11-06 20:59:58
282
原创 验证二叉搜索树
验证二叉搜索树 题目描述:给点一个二叉树,验证其是否为一个有效的搜索二叉树 二叉搜索树的特点 1:节点的左子树只包含小于当前节点的数 2:节点的右子树只包含大于当前节点的数 3:所有左子树和右子树自身也必须是二叉搜索树 总结一下:二叉搜索树用中序遍历出来的序列是递增的,可以用这个作为突破口去 验证一颗树是否为二叉搜索树。 先定义树的节点。 public class TreeNode { ...
2019-11-06 20:46:41
99
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人