会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
TonyYPZhang
Keep it Simple, Stupid
博客园
首页
新随笔
联系
管理
订阅
上一页
1
···
10
11
12
13
14
15
16
17
18
下一页
2016年1月17日
[LeetCode] 219. Contains Duplicate II 解题思路
摘要: 问题:给定一个数组和整数 k ,判断是否存在两个相等元素,并且两个相等元素的下标差在 k 以内? 问题问是否存在一个子数组满足某种条件,首先想到的是滑动窗口(sliding window)的模型
阅读全文
posted @ 2016-01-17 19:10 TonyYPZhang
阅读(361)
评论(0)
推荐(0)
2016年1月12日
[LeetCode] 310. Minimum Height Trees 解题思路
摘要: 问题:给定一个拥有树性质的无向图,图的每一个节点都可以视为一棵树的根节点。在所有可能的树中,找出高度最小的树,并返回他们的树根。 除了 DP 方案,没有想到其他思路,在网上借鉴了其他了的想法,理解后实现通过。 这个思路实际上是一个 BFS 思路。和常见的从根节点进行 BFS 不同,这里从叶子节点开始进行 BFS。 所有入度(即相连边数)为 1 的节点即是叶子节点。找高度最小的节点,即找离所有叶子节点最远的节点,也即找最中心的节点。 找最中心的节点的思路很简单: 每次去掉当前图的所有叶子节点,重复此操作直到只剩下最后的根。
阅读全文
posted @ 2016-01-12 00:37 TonyYPZhang
阅读(3702)
评论(0)
推荐(0)
2016年1月10日
[LeetCode] 200. Number of Islands 解题思路
摘要: 问题:找出矩阵中前后左右相邻为 1 的区域块块数。 属于 DFS 思想。 将所有 1 塞进一个容器中,从容器中取出一个 1 ,并将相邻走完的 1 也从容器中取出,视为一次取数。重复此操作直至容器中没有元素 1 ,则取出次数就是 1 的区域块块数。
阅读全文
posted @ 2016-01-10 20:26 TonyYPZhang
阅读(544)
评论(0)
推荐(0)
[LeetCode] 110. Balanced Binary Tree 解题思路
摘要: 问题:给定一个二叉树,判断其是否平衡。 当二叉树中所有节点的左右子树高度差不大于 1 时,这个二叉树视为平衡二叉树。 解题思路应该算一种分治思想。根据定义,递归地判断,实现判断。
阅读全文
posted @ 2016-01-10 20:13 TonyYPZhang
阅读(596)
评论(0)
推荐(0)
[LeetCode] Course Schedule I (207) & II (210) 解题思路
摘要: 问题:已知课程数量,以及各个课程间的依赖关系,求是否可以满足所有依赖关系把课程上完。 这是典型的拓扑排序应用场景。是否满足所有依赖关系,实际上就是求,在课程为节点、依赖关系为边的图中,是否存在环。若存在还,则不可能满足所有依赖关系把课程上完,反之,则可能。
阅读全文
posted @ 2016-01-10 17:09 TonyYPZhang
阅读(523)
评论(0)
推荐(0)
[LeetCode] 116. Populating Next Right Pointers in Each Node 解决思路
摘要: 问题: 给定一个二叉树,将树元素的 *next 指向该元素在树结构中的水平右边节点。 这是广度遍历的一个应用。可以借组队列结构实现广度遍历,求解题目。
阅读全文
posted @ 2016-01-10 11:04 TonyYPZhang
阅读(167)
评论(0)
推荐(0)
[LeetCode] 129. Sum Root to Leaf Numbers 解题思路
摘要: 问题:给定一个二叉树,树的每个节点都只包含一个数字 0-9,将根节点到叶子节点路径上的元素值组合成一个整数,求所有整数和。 这是一道深度遍历的应用。深度遍历二叉树一般是递归遍历,或者借助栈遍历。每到达一个叶子节点,都需要重新遍历一次根节点到该叶子节点路径的值,借组栈遍历可以实现满足这个需要。
阅读全文
posted @ 2016-01-10 10:39 TonyYPZhang
阅读(441)
评论(0)
推荐(0)
[LeetCode] 230. Kth Smallest Element in a BST 解题思路
摘要: 问题:找出二叉搜索树种第 k 小的元素。 一个深度遍历的应用。使用递归、或者借助栈都可以实现深度遍历。本文代码使用递归实现。
阅读全文
posted @ 2016-01-10 10:30 TonyYPZhang
阅读(301)
评论(0)
推荐(0)
[LeetCode] Maximum Gap 解题思路
摘要: 问题:给定一个无序数组,找出数组排序后的相邻元素最大间隔。要求 O(n) 时间复杂度,O(n)空间复杂度 解题思路: 思路一:将所有数组全部排序,再一次遍历求得最大的相邻元素间隔值即可。但是排序算法的最小时间复杂度也需要 O(n*logn) ,无法满足要求。 思路二:题目只需要求出最大相邻间隔,可以利用桶排序,避免求出全部元素大小顺序,而得到结果。时间复杂度降低为 O(n)。
阅读全文
posted @ 2016-01-10 01:16 TonyYPZhang
阅读(431)
评论(0)
推荐(0)
2016年1月6日
[LeetCode] 148. Sort List 解题思路
摘要: 问题:对一个单列表排序,要求时间复杂度为 O(n*logn),额外空间为 O(1)。 O(n*logn) 时间排序算法,无法是 quick sort, merge sort, head sort。quick sort 需要灵活访问前后元素,适合于数组,merge sort 只需要从左到右扫过去即可,可用于列表结构。
阅读全文
posted @ 2016-01-06 01:46 TonyYPZhang
阅读(980)
评论(0)
推荐(0)
上一页
1
···
10
11
12
13
14
15
16
17
18
下一页
公告