r****r 发帖数: 96 | |
B*********a 发帖数: 6244 | |
M**********2 发帖数: 7 | |
n*******k 发帖数: 100 | |
m*********n 发帖数: 931 | |
t****b 发帖数: 2484 | |
I*******g 发帖数: 7600 | |
u******k 发帖数: 355 | |
p********e 发帖数: 170 | |
j*******l 发帖数: 1066 | 10 请问LZ如果过几年准备跳槽重新刷题的时候 是重点看自己写的思路 还是所有题从零开
始再刷一遍?
刷题是痛苦的 我更希望重新再刷的时候有一个对300道题的高度总结概括(比如DP里有
哪些常见类型 哪几个道题是经典需要重点训练 DFS/backtracking适合哪些类型 大概
的coding workflow是什么)
总结这个的目的是能在一周时间内恢复自己当年刷题80%的水平 甚至当以后题库到了
1000道的时候 80%的题型特征已经被自己总结归纳 看一遍就明白思路 只需要重新写个
10/20道经典题型就可面试 |
|
|
o*q 发帖数: 630 | |
r****r 发帖数: 96 | 12 非常好的想法!把解题常用的算法总结一下,我觉得确实可以帮助恢复80%的记忆。
【在 j*******l 的大作中提到】 : 请问LZ如果过几年准备跳槽重新刷题的时候 是重点看自己写的思路 还是所有题从零开 : 始再刷一遍? : 刷题是痛苦的 我更希望重新再刷的时候有一个对300道题的高度总结概括(比如DP里有 : 哪些常见类型 哪几个道题是经典需要重点训练 DFS/backtracking适合哪些类型 大概 : 的coding workflow是什么) : 总结这个的目的是能在一周时间内恢复自己当年刷题80%的水平 甚至当以后题库到了 : 1000道的时候 80%的题型特征已经被自己总结归纳 看一遍就明白思路 只需要重新写个 : 10/20道经典题型就可面试
|
c****k 发帖数: 9 | |
o*q 发帖数: 630 | 14 妈呀,1000道题,您不是开玩笑吧,还是自嘲?
过几年说不定真的1000道了,那时候还回来刷题???
【在 j*******l 的大作中提到】 : 请问LZ如果过几年准备跳槽重新刷题的时候 是重点看自己写的思路 还是所有题从零开 : 始再刷一遍? : 刷题是痛苦的 我更希望重新再刷的时候有一个对300道题的高度总结概括(比如DP里有 : 哪些常见类型 哪几个道题是经典需要重点训练 DFS/backtracking适合哪些类型 大概 : 的coding workflow是什么) : 总结这个的目的是能在一周时间内恢复自己当年刷题80%的水平 甚至当以后题库到了 : 1000道的时候 80%的题型特征已经被自己总结归纳 看一遍就明白思路 只需要重新写个 : 10/20道经典题型就可面试
|
s******y 发帖数: 17729 | |
p**5 发帖数: 2544 | |
a********g 发帖数: 59 | |
a**********0 发帖数: 422 | |
z***m 发帖数: 1602 | |
f******y 发帖数: 208 | |
|
|
a**********0 发帖数: 422 | 21 第22题不知道是不是有个小bug
//calculate KMP array
public int[] getNext(String needle) {
int[] next = new int[needle.length()];
next[0] = 0;
for (int i = 1; i < needle.length(); i++) {
int index = next[i - 1];
while (index > 0 && needle.charAt(index) != needle.charAt(i)) {
index = next[index - 1];
}
if (needle.charAt(index) == needle.charAt(i)) {
next[i] = next[i - 1] + 1;
} else {
next[i] = 0;
}
}
return next;
}
其中
next[i] = next[i - 1] + 1;
应该改为
next[i] = next[index - 1] + 1;
谢谢
【在 r****r 的大作中提到】 : 下载地址: http://www.programcreek.com/wp-content/uploads/2012/11/coding-interview-1.pdf
|
a**********0 发帖数: 422 | 22 其实23题也有一个bug
如果输入array只有一个数 且为一个小于s的数字 按照题目要求 应该返回0
但是按照23.2 java solution的解法
因为 i==0 j==0 所以i==j 且因为 nums[0] < s 所以 j++变为1 而此时j == nums.
length 所以return result 但是此时的result等于array的长度1 所以会返回1而不是0
是个错误答案
应该在开头正佳一个条件 如果 数组长度为一 且小于s则返回0
my two cents :)
【在 a**********0 的大作中提到】 : 第22题不知道是不是有个小bug : //calculate KMP array : public int[] getNext(String needle) { : int[] next = new int[needle.length()]; : next[0] = 0; : for (int i = 1; i < needle.length(); i++) { : int index = next[i - 1]; : while (index > 0 && needle.charAt(index) != needle.charAt(i)) { : index = next[index - 1]; : }
|
n********n 发帖数: 4 | |
e**********0 发帖数: 502 | |
g***w 发帖数: 247 | |
b********r 发帖数: 620 | 26 太厉害,向这种无私的互相帮助精神致敬!!
【在 g***w 的大作中提到】 : 谢谢
|