l****1 发帖数: 30 | 1 传说中的leetcode用了一周业余时间做了一遍。 收获还不错,有那么几道值得想一想
的题目,全部列举如下:
median of two sorted arrays
regular expressions
O(1) space to recover a BST
in-place merge two sorted arrays
first missing positive |
s******r 发帖数: 65 | 2 牛叉啊,一周业余时间做完leetcode。
一天20道的节奏,这真是传说中的15分钟一道秒杀啊。
还是第一遍。
【在 l****1 的大作中提到】 : 传说中的leetcode用了一周业余时间做了一遍。 收获还不错,有那么几道值得想一想 : 的题目,全部列举如下: : median of two sorted arrays : regular expressions : O(1) space to recover a BST : in-place merge two sorted arrays : first missing positive
|
g***j 发帖数: 1275 | 3 一周业余时间做了一遍,是什么意思?作了132题的OJ? 每天业余时间有多少?
【在 l****1 的大作中提到】 : 传说中的leetcode用了一周业余时间做了一遍。 收获还不错,有那么几道值得想一想 : 的题目,全部列举如下: : median of two sorted arrays : regular expressions : O(1) space to recover a BST : in-place merge two sorted arrays : first missing positive
|
g*******s 发帖数: 2963 | 4 每天业余时间搞定20道。。。。还第一遍
太牛x了 |
D****6 发帖数: 278 | |
l****1 发帖数: 30 | 6 上周四开始做的,今天刚完成的,所有题目。 周末两天除了做家务买菜吃饭社交外的
时间都在做。周中就下班做,上班的时候抽空看下题目想思路。
一开始很慢,头几个题目用了很久还一直错。慢慢上手了就快了,而且写惯了直接在
leetcode的编辑器里面写,写完直接提交,比用ide感觉还有效率。算下来我一共只在
本地编译了8个题目。
【在 g***j 的大作中提到】 : 一周业余时间做了一遍,是什么意思?作了132题的OJ? 每天业余时间有多少?
|
h*****a 发帖数: 1718 | 7 牛,不过你列的这些题都是难度级别比较低的,呵呵。
【在 l****1 的大作中提到】 : 传说中的leetcode用了一周业余时间做了一遍。 收获还不错,有那么几道值得想一想 : 的题目,全部列举如下: : median of two sorted arrays : regular expressions : O(1) space to recover a BST : in-place merge two sorted arrays : first missing positive
|
c******a 发帖数: 789 | 8 仰慕一下。我做了4个月了还剩几道实在过不了大OJ。。。。 |
l****1 发帖数: 30 | 9 嗯,每个人的风格不一样。列一下你觉得难度级别高的吧
【在 h*****a 的大作中提到】 : 牛,不过你列的这些题都是难度级别比较低的,呵呵。
|
s******r 发帖数: 65 | 10 你不会是楼教主的马甲出来逗我们玩的吧:)
这实力,真的可以直接去面试了,绝对秒杀FLG啊。
【在 l****1 的大作中提到】 : 上周四开始做的,今天刚完成的,所有题目。 周末两天除了做家务买菜吃饭社交外的 : 时间都在做。周中就下班做,上班的时候抽空看下题目想思路。 : 一开始很慢,头几个题目用了很久还一直错。慢慢上手了就快了,而且写惯了直接在 : leetcode的编辑器里面写,写完直接提交,比用ide感觉还有效率。算下来我一共只在 : 本地编译了8个题目。
|
|
|
k***x 发帖数: 6799 | 11 2爷,快出来看又一条大牛。。。
【在 l****1 的大作中提到】 : 传说中的leetcode用了一周业余时间做了一遍。 收获还不错,有那么几道值得想一想 : 的题目,全部列举如下: : median of two sorted arrays : regular expressions : O(1) space to recover a BST : in-place merge two sorted arrays : first missing positive
|
h*****a 发帖数: 1718 | 12 同意你说的,刚才没有offend你的意思。因为我觉得merge sorted array确实是比较基
础的问题。我觉得Minimum Path Sum, Search in Rotated Sorted Array II tricky
一些,主要在于是不是能给出最efficient和simple的code.
【在 l****1 的大作中提到】 : 嗯,每个人的风格不一样。列一下你觉得难度级别高的吧
|
l****1 发帖数: 30 | 13 嗯,有道理。 search in rotated sorted array ii 因为有duplicate我觉得没有logn
的方法,所以没往深了想直接线性扫描了。难道是我做错了。。。
merge sorted array因为要in-place,不能额外allocate memory,就用A和B本身来
merge,比一般的要tricky一些
同样,O(1) recover bst树不能用递归,不能用栈,只能用常数个指针而且在O(n)时间
要完成,我觉得也挺tricky的。
regular expression直接上穷举法也能出结果,但是往深了想就需要证明 *|P|*的
pattern里面完全不需要考虑前一个*,只需要保存最后一个,需要一定的分析。
first missing positive的话其实考的是想不想得到,想到了10行搞定,想不到就很难
tricky
【在 h*****a 的大作中提到】 : 同意你说的,刚才没有offend你的意思。因为我觉得merge sorted array确实是比较基 : 础的问题。我觉得Minimum Path Sum, Search in Rotated Sorted Array II tricky : 一些,主要在于是不是能给出最efficient和simple的code.
|
g*******s 发帖数: 2963 | 14 regular expressions那道题一开始感觉不难,但
写到最后是让我感觉最恶心的一道,即便用了答案里的优化思路还是很感觉恶心 |
r*****e 发帖数: 792 | 15 这题还好,我都能背下答案了。当时写wild card match觉得真难,写的递归
怎么也过不了大数据,有大半天的功夫再实验怎么能更快,后来才弄明白非递归
的才是最优解。好在那半天是上班时间,没亏,呵呵。
【在 g*******s 的大作中提到】 : regular expressions那道题一开始感觉不难,但 : 写到最后是让我感觉最恶心的一道,即便用了答案里的优化思路还是很感觉恶心
|
l****1 发帖数: 30 | 16 请问哪个网站有详细的标准答案可以参考,给我个link吧。
【在 g*******s 的大作中提到】 : regular expressions那道题一开始感觉不难,但 : 写到最后是让我感觉最恶心的一道,即便用了答案里的优化思路还是很感觉恶心
|
h*****a 发帖数: 1718 | 17 regular expr 是比较难的题目,不过现实中的实现都是用自动机,这种问题在
interview的时候问比较扯淡,用递归应付大部分的时候都不会有问题。
recover bst中序遍历总是需要一个栈吧?
search in rotated sorted array II 最坏情况O(n)没错,但碰到相等直接线性扫瞄确
实不是最优的。
logn
【在 l****1 的大作中提到】 : 嗯,有道理。 search in rotated sorted array ii 因为有duplicate我觉得没有logn : 的方法,所以没往深了想直接线性扫描了。难道是我做错了。。。 : merge sorted array因为要in-place,不能额外allocate memory,就用A和B本身来 : merge,比一般的要tricky一些 : 同样,O(1) recover bst树不能用递归,不能用栈,只能用常数个指针而且在O(n)时间 : 要完成,我觉得也挺tricky的。 : regular expression直接上穷举法也能出结果,但是往深了想就需要证明 *|P|*的 : pattern里面完全不需要考虑前一个*,只需要保存最后一个,需要一定的分析。 : first missing positive的话其实考的是想不想得到,想到了10行搞定,想不到就很难 :
|
c******a 发帖数: 789 | 18 我到现在median of 2 sorted array还是过不了大oj,有几个错,555 |
l****1 发帖数: 30 | 19 前几天在G的campus和楼老大擦肩而过。。。不过我没敢上前去要签名。。。
【在 s******r 的大作中提到】 : 你不会是楼教主的马甲出来逗我们玩的吧:) : 这实力,真的可以直接去面试了,绝对秒杀FLG啊。
|
r*****e 发帖数: 792 | 20 这个好像没有标准答案这一说吧,看看别人的code,倒是可以看出是不是
更简洁和高效。是不是最优解就不好说了。还得看面试官的水平了。
【在 l****1 的大作中提到】 : 请问哪个网站有详细的标准答案可以参考,给我个link吧。
|
|
|
l****1 发帖数: 30 | 21 revover bst,不需要栈,中序遍历你只需要两个指针就够了。
array II 具体怎么优化,说说吧。
【在 h*****a 的大作中提到】 : regular expr 是比较难的题目,不过现实中的实现都是用自动机,这种问题在 : interview的时候问比较扯淡,用递归应付大部分的时候都不会有问题。 : recover bst中序遍历总是需要一个栈吧? : search in rotated sorted array II 最坏情况O(n)没错,但碰到相等直接线性扫瞄确 : 实不是最优的。 : : logn
|
r*****e 发帖数: 792 | 22 贴个2的code吧:
bool search(int arr[], int n, int target) {
if (!arr || n<=0) return false;
int low=0, high=n-1, mid;
while (low<=high) {
mid = low+(high-low)/2;
if (arr[mid]==target) return true;
if (arr[low]
if (target>=arr[low]&&target
else low = mid+1;
} else if (arr[mid]
if (target>arr[mid]&&target<=arr[high]) low=mid+1;
else high = mid-1;
} else {
++low;//potentially, we fall into this case always =>linear
search
}
}
return false;
}
【在 l****1 的大作中提到】 : revover bst,不需要栈,中序遍历你只需要两个指针就够了。 : array II 具体怎么优化,说说吧。
|
l****1 发帖数: 30 | 23 ic. variation of bin_search, that's what I thought :-) thanks!
【在 r*****e 的大作中提到】 : 贴个2的code吧: : bool search(int arr[], int n, int target) { : if (!arr || n<=0) return false; : int low=0, high=n-1, mid; : while (low<=high) { : mid = low+(high-low)/2; : if (arr[mid]==target) return true; : if (arr[low]: if (target>=arr[low]&&target: else low = mid+1;
|
h*****a 发帖数: 1718 | 24 interesting, 没stack你一路左指针下来找到最小之后怎么向上回去?
【在 l****1 的大作中提到】 : revover bst,不需要栈,中序遍历你只需要两个指针就够了。 : array II 具体怎么优化,说说吧。
|
r*****e 发帖数: 792 | 25 再贴一段code:
void recoverTreeCore(TreeNode *root, TreeNode *&prevNode, TreeNode *&big,
TreeNode *&small) {
if (!root) return;
recoverTreeCore(root->left, prevNode, big, small);
if (!prevNode) prevNode = root;
else {
if (root->val val) {
if (!big) big = prevNode;
small = root;
}
prevNode = root;
}
recoverTreeCore(root->right, prevNode, big, small);
}
void recoverTree(TreeNode *root) {
if (!root) return;
TreeNode *big=NULL, *small=NULL, *prevNode=NULL;
recoverTreeCore(root, prevNode, big, small);
if (!big) return;//nothing is wrong in the original BST
swap(big->val, small->val);
}
【在 h*****a 的大作中提到】 : interesting, 没stack你一路左指针下来找到最小之后怎么向上回去?
|
q****o 发帖数: 57 | 26 同哭。。。。。
【在 c******a 的大作中提到】 : 仰慕一下。我做了4个月了还剩几道实在过不了大OJ。。。。
|
h*****a 发帖数: 1718 | 27 当然是不用递归的了。用递归不是自动incur了栈的额外空间么?而且比直接用栈还差。
【在 r*****e 的大作中提到】 : 再贴一段code: : void recoverTreeCore(TreeNode *root, TreeNode *&prevNode, TreeNode *&big, : TreeNode *&small) { : if (!root) return; : recoverTreeCore(root->left, prevNode, big, small); : if (!prevNode) prevNode = root; : else { : if (root->val val) { : if (!big) big = prevNode; : small = root;
|
r*****e 发帖数: 792 | 28 132道题到面试了也只做了128道,还有几道是抄别人答案满足一下自己的,呵呵。
word ladder那两题应该会,实在不想写了,写过一个类似的。text justification
压根就没打算写,觉得很无聊。还有个unique BST 2,也是不想写。 |
r*****e 发帖数: 792 | 29 哦,这个意思啊。我其实也有个iterative的code,不过是参考别人的,就不拿出
来献丑了。那个的确是没有用stack,但是code长了不少。
差。
【在 h*****a 的大作中提到】 : 当然是不用递归的了。用递归不是自动incur了栈的额外空间么?而且比直接用栈还差。
|
s*******e 发帖数: 1630 | 30 太猛了,除了膜拜,实在想不出什么话了。连一天3道都坚持不下来的飘过 |
|
|
l****1 发帖数: 30 | 31 这个是用了栈的,所以还是O(n)的空间。
其实每个叶子节点的两个孩子指针都是废的,可以利用存下一个node的信息。这样用
loop就可以实现还不需要栈,所以是O(1)
【在 r*****e 的大作中提到】 : 再贴一段code: : void recoverTreeCore(TreeNode *root, TreeNode *&prevNode, TreeNode *&big, : TreeNode *&small) { : if (!root) return; : recoverTreeCore(root->left, prevNode, big, small); : if (!prevNode) prevNode = root; : else { : if (root->val val) { : if (!big) big = prevNode; : small = root;
|
w**a 发帖数: 487 | 32 膜拜一下!
大牛你是CS科班么?
【在 l****1 的大作中提到】 : 传说中的leetcode用了一周业余时间做了一遍。 收获还不错,有那么几道值得想一想 : 的题目,全部列举如下: : median of two sorted arrays : regular expressions : O(1) space to recover a BST : in-place merge two sorted arrays : first missing positive
|
s******r 发帖数: 65 | 33 我赌两毛钱lz原来是搞竞赛的。各大OJ上玩过的。
不过即使这样,一个礼拜做完leetcode的专注力我等也只能膜拜了
我就干一件事儿,把lz的帖子下载下来打印出来贴墙上,每天饭前饭后睡前睡后默读三
遍刺激自己就行了。。。
【在 w**a 的大作中提到】 : 膜拜一下! : 大牛你是CS科班么?
|
h*****a 发帖数: 1718 | 34 能贴个code么,你到了叶子节点,上面parent的信息都存哪了?
【在 l****1 的大作中提到】 : 这个是用了栈的,所以还是O(n)的空间。 : 其实每个叶子节点的两个孩子指针都是废的,可以利用存下一个node的信息。这样用 : loop就可以实现还不需要栈,所以是O(1)
|
x*********w 发帖数: 533 | 35
二爷,出来看大牛 o >_< o
【在 k***x 的大作中提到】 : 2爷,快出来看又一条大牛。。。
|
l****1 发帖数: 30 | 36 我直接在leetcode窗口敲的代码,没本地保存。。。
大概思路就是不能一遍走完,每次都需要先提前走一遍左孩子的最右子孙就行。
【在 h*****a 的大作中提到】 : 能贴个code么,你到了叶子节点,上面parent的信息都存哪了?
|
p*****2 发帖数: 21240 | 37
morris算法,你看看我的code。
【在 h*****a 的大作中提到】 : 能贴个code么,你到了叶子节点,上面parent的信息都存哪了?
|
p*****2 发帖数: 21240 | 38
很牛呀。LZ什么背景呀?
【在 x*********w 的大作中提到】 : : 二爷,出来看大牛 o >_< o
|
h*****a 发帖数: 1718 | 39 i c, thanks.
【在 p*****2 的大作中提到】 : : 很牛呀。LZ什么背景呀?
|
s**********r 发帖数: 8153 | 40 我可以说我做半年了么
【在 c******a 的大作中提到】 : 仰慕一下。我做了4个月了还剩几道实在过不了大OJ。。。。
|
|
|
I**********e 发帖数: 92 | |
e****d 发帖数: 333 | 42 140 problems / 7 days = 20 problems per day
20 mins per problem * 20 problems per day = 400 mins per day
400 mins / 60 mins per hour = 7 hours per day.
after 5pm, working on problems till mid night 12am, totally 7 hours, no
eating and any amusement.
or using day time in office? |
r**h 发帖数: 1288 | 43 That's possible.
Half of LC's problems are not that hard. You can easily finish them within <
10 minutes.
【在 e****d 的大作中提到】 : 140 problems / 7 days = 20 problems per day : 20 mins per problem * 20 problems per day = 400 mins per day : 400 mins / 60 mins per hour = 7 hours per day. : after 5pm, working on problems till mid night 12am, totally 7 hours, no : eating and any amusement. : or using day time in office?
|
C***U 发帖数: 2406 | 44 做了多久都没关系吧 不是为了做题而做题
到面试前都弄懂了 拿到offer才是最终目的么
对吧 :)
【在 s**********r 的大作中提到】 : 我可以说我做半年了么
|
s**********r 发帖数: 8153 | 45 呜呜,我可以接着说,我从来没拿到过面试么。。呜呜。。。
【在 C***U 的大作中提到】 : 做了多久都没关系吧 不是为了做题而做题 : 到面试前都弄懂了 拿到offer才是最终目的么 : 对吧 :)
|
c******a 发帖数: 789 | 46 慢慢准备,准备好了再出山。
【在 s**********r 的大作中提到】 : 呜呜,我可以接着说,我从来没拿到过面试么。。呜呜。。。
|