会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
TonyYPZhang
Keep it Simple, Stupid
博客园
首页
新随笔
联系
管理
订阅
上一页
1
···
12
13
14
15
16
17
18
下一页
2015年12月28日
[LeetCode] 128. Longest Consecutive Sequence 解题思路
摘要: 问题:给定一个无序数组,找出最长的连续序列,要求时间复杂度为 O(n) 。 一开始想到的是用先排序,再找结果,但是时间复杂度要求 O(n) ,使用排序会超时。 思索未果,再网上找到一个方案,借助 unordered_set 来实现。
阅读全文
posted @ 2015-12-28 00:54 TonyYPZhang
阅读(1412)
评论(0)
推荐(0)
2015年12月27日
[LeetCode] Subsets I (78) & II (90) 解题思路,即全组合算法
摘要: 问题: 给定一个集合,求集合元素的所有组合的情况。 实际上就是一题求全组合的题目。 nums[i...n) 的所有组合情况可以分为两种:包含nums[i] 的 和 不包含 nums[i] 的。
阅读全文
posted @ 2015-12-27 13:49 TonyYPZhang
阅读(911)
评论(0)
推荐(0)
2015年12月26日
[LeetCode] Search in Rotated Sorted Array I (33) && II (81) 解题思路
摘要: 问题: 给定一个已排序的数组,该数组以某一个元素作为支点做了旋转,在改旋转后数组中搜索值。 已排序数组的搜索,自然会想到二分搜索。将旋转到后面的部分用负数表示下标,便可以正常使用二分搜索。
阅读全文
posted @ 2015-12-26 22:05 TonyYPZhang
阅读(223)
评论(0)
推荐(0)
[LeetCode] 35. Search Insert Position 解决思路
摘要: 问题:给定一个已排序数组和一个整数,若整数已在数组中则返回在数组中的下标,否则返回应当插入的位置。 对一个已排序数组进行搜索,很自然地会想到二分搜索(Binary Search),毕竟是经典场景。这道题也确实是二分搜索的一个简单应用。 之所以记录这道题目,是感觉二分搜索和之前做的 双指针法 two pointers ,或者是滑动窗口算法(sliding window) 有些相似。
阅读全文
posted @ 2015-12-26 11:44 TonyYPZhang
阅读(311)
评论(0)
推荐(0)
[LeetCode] 73. Set Matrix Zeroes 解题思路
摘要: 问题:给定一个矩阵,当矩阵一个元素为 0 ,将该元素的当前行,当前列都设为 0 。 我的方案满足补充内容的第二点,使用 O(m + n) 额外空间。
阅读全文
posted @ 2015-12-26 10:58 TonyYPZhang
阅读(591)
评论(0)
推荐(0)
[LeetCode] 74. Search a 2D Matrix 解题思路
摘要: 问题:在给定的已排序的二维矩阵中,判断是否包含某个整数。 思路:看到二维数组,首先想到的是二维数组和 一维数组可以直接转换,arr[i][j] 等于 arr[i*col + j]。而在一个已排序的一维数组中搜索一个元素,可以采用分治(Divide and Conquer)思想,更具体些就是二分搜索(Binary Search) 算法。
阅读全文
posted @ 2015-12-26 09:34 TonyYPZhang
阅读(572)
评论(0)
推荐(0)
[LeetCode] 16. 3Sum Closest 解题思路
摘要: 问题:给定一个数组和一个整数 n ,求数组中的三个元素,他们的和离 n 最近。 这道题和 3Sum 很相似,解题思路也很相似,先排序,然后采用双指针法依次比较。
阅读全文
posted @ 2015-12-26 01:45 TonyYPZhang
阅读(1326)
评论(0)
推荐(0)
2015年12月25日
[LeetCode] 28. Implement strStr() 解题思路
摘要: 问题:实现 strStr() 函数。即在 haystack 中匹配 needle 字符串。 可以理解为,实际上这道题是在问如何实现 KMP(Knuth–Morris–Pratt) 算法。
阅读全文
posted @ 2015-12-25 23:51 TonyYPZhang
阅读(451)
评论(0)
推荐(0)
我所理解的 KMP(Knuth–Morris–Pratt) 算法
摘要: 假设要在 haystack 中匹配 needle . 要理解 KMP 先需要理解两个概念 proper prefix 和 proper suffix,由于找到没有合适的翻译,暂时分别称真实前缀 和 真实后缀。 真实前缀(Proper prefix): 一个字符串中至少不包含一个尾部字符的前缀字符串。例如 "Snape" 的全部真实前缀是 “S”, “Sn”, “Sna”, and “Snap” . 真实后缀(Proper suffix): 一个字符串中至少不包含一个头部字符的后缀字符串。例如 “Hagrid” 的全部真实后缀是 “agrid”, “grid”, “rid”, “id”, and “d”.
阅读全文
posted @ 2015-12-25 23:39 TonyYPZhang
阅读(1385)
评论(0)
推荐(0)
2015年12月23日
[LeetCode] 86. Partition List 解题思路
摘要: 问题:给定一个列表和整数 x,将列表中所有小于 x 的元素移到大于或等于 x 的元素前面。要求,移动后两部分的内部的元素相对位置和原来的保存一致。 第二个思路是用数组存储新的列表顺序,然后在数组中建立 元素间的指针关系。这个思路比较简单,也提交通过了。
阅读全文
posted @ 2015-12-23 00:44 TonyYPZhang
阅读(1178)
评论(0)
推荐(0)
上一页
1
···
12
13
14
15
16
17
18
下一页
公告