这个题目是很寂寞的. 2 pointer可以做, 在网上又搜了一下,貌似可以有很多牛逼的优化,我暂时还没去看。 很郁闷的就是条件不明,原来只需要从’++’转到’–̵…
LeetCode[1] - Longest Palindromic Substring
这个琢磨了我好半天。 第一个方法至少O(n^3),果然时间太多,输了给了李特。这种方法从两头check (i,j),太慢。 第二个方法,是Code Granker上面的,利用了高中学排列组合时候的概念。有个‘abc’,那…
LeetCode[17] - Peeking Iterator
再一次理解错题意. peek() 就是头顶,但是不一定是最大值啊。总是把PEEK想成了最大值,然后用2 STACK做了最大值的cache,练的一手好双stack,可惜错了。 回到原题,其实不难。找一个cache来存nex…
LeetCode[5] - Binary Tree Right Side View
自己想了这个方法,有可能不是特别efficient. 一个queue放普通的BFS。 一个queue放level。 同时维护一个parent value;维护一个跟着BFS跑的level。 每个node都有一个lv。一旦…
LeetCode[19] - ZigZag Iterator
这个题目相对简单. 做的时候我先考虑起来k条怎么办. 那么用个map把index和每个listmark一下就好了。 每次next(), 相应的list的头拿下来就好。 然后就跑圈呗,每次刷一个list头。不难。只要把几个…
LeetCode[8] - Excel Sheet Column Number
好久以前做的一个题了。 记得:’A’ – ‘A’ = 0 呀。所以 any char – ‘A’ + 1 = 这个char在…
LeetCode/LintCode ReviewPage 题解-总结
背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcode是什么样的体验? 慢慢有一些赞和感谢, 备受鼓舞, 于是我把所做过的题目用一个script跑了一下,编辑…
LeetCode[22] - Missing Ranges
精力旺盛症。 自己做的时候,想的太复杂,做起了binarysearch,企图节省时间。 下次要算清楚,是否有意义。 binarySearch的确logn,但是在lower 和upper之间的数字,很可能还是O(n). 因…
LeetCode LintCode 干货全集 2018
Java Algorithm Problems 序言 从开始这个Github已经有将近三四年时间, 很高兴可以帮到有需要的人. 我一直认为, 知识本身是无价的, 因此每逢闲暇, 我就会来维护, 给刷题的朋友们一些我的想法…
LeetCode LintCode 干货全集
事情是这样的. 下面这个就是我在GitHub上面自动生成的LintCode表格. 当时先做的是LintCode, 大约有150来道。 现在转手来做LeetCode,作为复习和巩固,每一篇都会详细把要点摘录一下。而过去做过…
LeetCode[7] - First Bad Version
这个挺直接的,也被李特标了EASY. 就是在1~n里面找第一个出错点。其实就是搜一个数字i(同时用isBadVersion(i))检查这个数字是否报错。那搜index的活,直接binary search就好了。 注意特别…
LeetCode[6] - Count Primes
方法很牛逼也很数学。没做的时候可能想不到。做了之后就觉得,哎,我去,有道理啊。 简而言之:简历一个boolean长条,存isPrime[]。 然后从i=2, 全部变true. 然后利用这个因子的性质,非prime满足条件…