
leetcode
KODGV
这个作者很懒,什么都没留下…
展开
-
[leetcode]双指针 Sort Colors
Sort Colors 这题说实话,最直观的想法没有想到emmmm,先构造一个hash然后在进行重新构造的思想,我觉得挺好的。不过它要求做one-pass,就重新想了一个。这题的主要考点: one-pass和two-pass的区别 test_case的考虑 因为只能扫描数组一遍,所以自然想到肯定是交换,然后又因为这题只有0,1,2三个数,所以只要设置两个指针,碰到0往左交换,碰到2往右交换,就...原创 2019-01-04 14:32:23 · 164 阅读 · 0 评论 -
双指针解题思路
刷leetcode一个月之后,发现就跟高中刷题一样,单纯的刷,到一定程度就上不去了,必须对题目进行收集和整理才能有更高的突破。 一.概念 快慢指针 快指针在每一步走的步长要比慢指针一步走的步长要多。快指针通常的步速是慢指针的2倍。 在循环中的指针移动通常为: faster = faster.next.next; slower = slower.next; 首尾(大小)指针 首尾指针是指对数组进行排...原创 2018-12-31 15:31:37 · 518 阅读 · 0 评论 -
[leetcode]双指针题:Three sum
three sum 考虑三数之和,主要的考点在于: 三数是否意味着需要设置三个变量? 如何保证结果的去重? 针对第一点,这其实是指针题很喜欢的场景,因为对于新手可能一下子思路很直,单其实一般如果几个变量之间存在一定的关系,都要采取化简得形式,毕竟变量越少处理的时候就会越简洁。 针对第二点,其实是这题的一个重点,我第一次的想法也是判断一下数组里面如果存在就不继续添加这种线性的思维。其实应该判断,...原创 2018-12-31 16:32:55 · 248 阅读 · 0 评论 -
[leetcode]双指针 Longest Substring Without Repeating Characters
Longest Substring Without Repeating Characters 考虑不重复的字串,主要的考点在于: 是否了解指针构建字串移动窗口 当出现新的重复值时怎么改变窗口left指针 其实自己一开始的想法是想着能不能记录下每次出现的位置,然后用集合取交集的思想得到一个区域差值。最后发现不可以,因为对于两端的情况很难解决。 参考网上的解法,其实只要知道用双指针来构建这个字串的...原创 2018-12-31 16:34:02 · 185 阅读 · 0 评论 -
[leetcode]双指针 Remove Nth Node From End of List
Remove Nth Node From End of List 这题我觉得应该算easy题里面,涉及到的知识确实不多: 看到链表能不能反应过来使用指针 对于这个n-th节点的边界情况 自己一开始就能想到前后指针,两个指针的间隔为n,然后同步移动,当后指针到末尾的时候,前指针的位置就是需要进行链表删除的上一个位置,很方便。 但是又一个坑就在于如果要删除头节点怎么办,因为上面的解法固定了我们的前...原创 2019-01-01 15:59:56 · 95 阅读 · 0 评论 -
[leetcode]双指针 Implement strStr
Implement strStr 找到一个句子里面的字串 其实这题自己算是踩进一个大坑,总担心暴力不行。这题的主要考点: first occurrence 寻找的对象是字符串 想了N久,感觉暴力可能会TLE,结果才发现自己多想,不过这个确实提醒了自己,对于字符串来说,暴力的解法是不会超时的,因为实际情况一般字符串不会存在很长很长的情况(说不定以后做题会打脸)。 自己的解法 class Solu...原创 2019-01-02 14:55:19 · 119 阅读 · 0 评论