上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 33 下一页
摘要: 不要被题目迷惑,肯定是要O(N)的时间,在不改变数据结构的情况下。 就是in order traverse,因为是BST,所以遍历顺序是从小到大,遍历的第K个元素就是第K小的。 可以Iteratively,也开始recursively. 至于follow up,无非是如何提供信息,让每次左还是右能做 阅读全文
posted @ 2016-11-26 05:50 哇呀呀..生气啦~ 阅读(118) 评论(0) 推荐(0)
摘要: 递归很简单,不说了。 说说迭代。 逻辑上挺复杂的,看了代码才想出来,需要总结。 inorder traverse的要点在于,只要有left node,就往左走,没有的时候,才访问当前值,然后再以right node为新的开始,继续看是否有left node。 实现起来困难一点。 所有的LEFT NO 阅读全文
posted @ 2016-11-24 09:22 哇呀呀..生气啦~ 阅读(134) 评论(0) 推荐(0)
摘要: 这个题我的笔记里怎么没有记录。。。 至少是三刷了吧。 Recursively就不说了。。 Iteratively就是用Stack模拟recursion里的memory stack的顺序。 Time : O(n) Space : O(n) 阅读全文
posted @ 2016-11-24 09:17 哇呀呀..生气啦~ 阅读(91) 评论(0) 推荐(0)
摘要: 二刷。 先找了一下规律,对于一个点,无非2种情况: PQ在左右两边,那么这个点就是答案 PQ在一边,那么答案啊在另一边上,迭代 Recursively. 然后回头看一刷用迭代做的。 应该可以,就是一层一层的来,找到其中一个的时候看看另一个在不在以当前为ROOT的树上,不在的话倒着找,需要2个队列,一 阅读全文
posted @ 2016-11-24 05:59 哇呀呀..生气啦~ 阅读(176) 评论(0) 推荐(0)
摘要: 刷 July 17 2019 第一反应是每个String都sort一下,然后分类,事实上也是正确的。。 Time: O(n KlgK) Space: O(nk) k = length of word 上面其实没用Anagram的另一个特性, char出现的次数相等就行 ,所以sort的KlgK其实浪 阅读全文
posted @ 2016-11-17 12:34 哇呀呀..生气啦~ 阅读(703) 评论(0) 推荐(0)
摘要: 刷 July 14 2019 还是挺难的,又过了一遍KMP. 最直接的办法是楞做。 abcd = bcd abcd aacecaaa = a aacecaaa 说白了就是找到给定String里面longest palindrome prefix。 怎么找呢? 最直观的做法就是左右同时往中间,扫到相遇 阅读全文
posted @ 2016-11-14 04:36 哇呀呀..生气啦~ 阅读(295) 评论(0) 推荐(0)
摘要: 这个题不怎么容易。。 正常做两头只找大小写和数字。 用rex简单很多。。 java public class Solution { public boolean isPalindrome(String s) { int l = 0; s = s.trim().toLowerCase().replac 阅读全文
posted @ 2016-11-14 03:50 哇呀呀..生气啦~ 阅读(85) 评论(0) 推荐(0)
摘要: DFS+BACKTRACK 没弄些乱七八糟的符号什么的在test case算是脱离低级趣味了。 这个题就是正常的划分string,连二段brach都不是。 我只进行了最基础的剪枝,有很多剪枝条件,比如剩余string map1 = new HashMap(); Map map2 = new Hash 阅读全文
posted @ 2016-11-12 08:15 哇呀呀..生气啦~ 阅读(241) 评论(0) 推荐(0)
摘要: Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4]. Not 阅读全文
posted @ 2016-11-12 07:05 哇呀呀..生气啦~ 阅读(193) 评论(0) 推荐(0)
摘要: 这个比一般的backtrack要难一点,有2个限制因素。 某个元素在某次递归中只能用一次。 重复。 主要就是这2个因素。 先SORT一下。 用visited[]记录哪个元素用过,用过直接跳过。 然后每个递归里,除了第一个元素之外,不许重复。 剩下的就是比较基础的backtrack了,记得每次要把vi 阅读全文
posted @ 2016-11-11 12:28 哇呀呀..生气啦~ 阅读(1580) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 33 下一页