f*********m 发帖数: 726 | 1 本人EE背景,复习算法也有些日子了。除了150题和leetcode,自己还找了些题来做,
不会的题看着答案做。也读了些算法的书。但是现在碰到有些难度的题,还是思路不清
楚,不能联系到做过的题。而且很健忘,见到做过的题或是看过答案的题也不能比较清
楚地回想起一些重要细节,一些基本题也不是很自信。
像我这种情况,是应该继续做新题呢还是把做过的题再过一遍?或者再看看算法书,牢
固基础?或者。。。?
请大家指教。 |
f*********m 发帖数: 726 | |
p*****2 发帖数: 21240 | 3 同郁闷。做了四天还没做完leetcode。就这破水平怎么可能拿到offer呢。 |
h****e 发帖数: 928 | 4 北京二爷,您已经做得很快了。
【在 p*****2 的大作中提到】 : 同郁闷。做了四天还没做完leetcode。就这破水平怎么可能拿到offer呢。
|
y**********u 发帖数: 6366 | 5 正常
我看到有些难度的题,直接缴枪
【在 f*********m 的大作中提到】 : 本人EE背景,复习算法也有些日子了。除了150题和leetcode,自己还找了些题来做, : 不会的题看着答案做。也读了些算法的书。但是现在碰到有些难度的题,还是思路不清 : 楚,不能联系到做过的题。而且很健忘,见到做过的题或是看过答案的题也不能比较清 : 楚地回想起一些重要细节,一些基本题也不是很自信。 : 像我这种情况,是应该继续做新题呢还是把做过的题再过一遍?或者再看看算法书,牢 : 固基础?或者。。。? : 请大家指教。
|
y**********u 发帖数: 6366 | 6 不要急
相信你很快能拿到的
【在 p*****2 的大作中提到】 : 同郁闷。做了四天还没做完leetcode。就这破水平怎么可能拿到offer呢。
|
f*********m 发帖数: 726 | |
y**********u 发帖数: 6366 | 8 继续做题
面试看到不会做的,直接跪了
【在 f*********m 的大作中提到】 : 大家有什么建议吗?
|
f*********m 发帖数: 726 | |
y**********u 发帖数: 6366 | 10 忘了也得跪啊
总比不会做在那里瞎扯强
【在 f*********m 的大作中提到】 : 可是做了后面的,忘了前面的,这也不是办法啊!
|
|
|
d*****y 发帖数: 205 | 11 个人认为熟悉应该先熟悉基本算法。
比如说基本数据结构,
深度优先,
还有一些简单的动态规划,
这些东西应该到特别熟悉的程度。
基础不牢固的话,面试即使遇到看过的题目也是没用。
难题毕竟是少数。
【在 f*********m 的大作中提到】 : 本人EE背景,复习算法也有些日子了。除了150题和leetcode,自己还找了些题来做, : 不会的题看着答案做。也读了些算法的书。但是现在碰到有些难度的题,还是思路不清 : 楚,不能联系到做过的题。而且很健忘,见到做过的题或是看过答案的题也不能比较清 : 楚地回想起一些重要细节,一些基本题也不是很自信。 : 像我这种情况,是应该继续做新题呢还是把做过的题再过一遍?或者再看看算法书,牢 : 固基础?或者。。。? : 请大家指教。
|
w****x 发帖数: 2483 | 12 是不是要看书???
其实现在大家谁能马上写个quick sork或heap sort??? |
p*****2 发帖数: 21240 | 13
大牛不都是两天吗?
【在 h****e 的大作中提到】 : 北京二爷,您已经做得很快了。
|
w****x 发帖数: 2483 | |
p*****2 发帖数: 21240 | 15
你做了很多遍呀。我这么长时间一遍还没做完。
【在 w****x 的大作中提到】 : 200道题做了一年的飘过....
|
p*****2 发帖数: 21240 | 16
你做string 乘法那个练的怎么样了?我就剩这道题了。还没下决心做。
【在 w****x 的大作中提到】 : 200道题做了一年的飘过....
|
w****x 发帖数: 2483 | 17
那题太麻烦了,coding上有很多trick,如果不用那种投机取巧(你已用别人就知道你做过
这题)的解法很难code, 还有字符串我以前一直坚持用c语言, 这题实在TMD不行直接上
std::string了
【在 p*****2 的大作中提到】 : : 你做string 乘法那个练的怎么样了?我就剩这道题了。还没下决心做。
|
p*****2 发帖数: 21240 | 18
哈哈。做完了。用的StringBuilder, 还可以reverse。不过这题上次你发的时候我写过
一次。写第二次还是要好很多。不过面试写起来也很麻烦。尤其是白板不够大,就麻烦
了。
【在 w****x 的大作中提到】 : : 那题太麻烦了,coding上有很多trick,如果不用那种投机取巧(你已用别人就知道你做过 : 这题)的解法很难code, 还有字符串我以前一直坚持用c语言, 这题实在TMD不行直接上 : std::string了
|
h****e 发帖数: 928 | 19 Steve Yegge建议面试时自带细的笔,这样可以多写一些行。
【在 p*****2 的大作中提到】 : : 哈哈。做完了。用的StringBuilder, 还可以reverse。不过这题上次你发的时候我写过 : 一次。写第二次还是要好很多。不过面试写起来也很麻烦。尤其是白板不够大,就麻烦 : 了。
|
w****x 发帖数: 2483 | 20 //Multiple two strings "1234" * "23" = "28382"
//A Facebook phone interview problem, suppose to done within
//15 minutes, I believe is mission impossible. The solution below
//uses a common way to solve this problem, does not deal with the
//sign, the logic is still refined several times.
string Multiple(string str1, string str2)
{
assert(str1.size() > 0 && str2.size() > 0);
string strRes;
for (int i = str2.size() - 1; i >= 0; i--)
{
//Calculate digit multiple
int nAdd = 0;
string strCur;
for (int j = str1.size() - 1; j >= 0; j--)
{
int nTmpI = str2[i] - '0';
int nTmpJ = str1[j] - '0';
int nRes = nTmpJ * nTmpI + nAdd;
nAdd = nRes / 10;
strCur.insert(strCur.begin(), nRes%10 + '0');
}
if (nAdd > 0) //pitfall, don't forget to deal with the rest
strCur.insert(strCur.begin(), nAdd + '0');
//Remember the "add" rule
strCur.append(str2.size() - i - 1, '0');
//Add to previous result
nAdd = 0;
int nRes = strRes.size() - 1;
int nCur = strCur.size() - 1;
string strTmpRes;
//the logic will be much much worse if use "while (nCur >= 0 && nRes
>= 0)"
//because you have to deal with lots of the "rest logic"
while (nCur >= 0 || nRes >= 0)
{
//if goes beyond a operand, just make the current digit 0
int nTmpCur = nCur >= 0 ? strCur[nCur] - '0' : 0;
int nTmpRes = nRes >= 0 ? strRes[nRes] - '0' : 0;
int nDigit = nTmpCur + nTmpRes + nAdd;
nAdd = nDigit / 10;
strTmpRes.insert(strTmpRes.begin(), nDigit%10 + '0');
nRes--, nCur--;
}
if (nAdd > 0) //pitfall, don't forget to deal with the rest
strTmpRes.insert(strTmpRes.begin(), nAdd + '0');
strRes = strTmpRes;
}
return strRes;
}
这题做过3遍, 现在叫我做我还是跪了 |
|
|
q***y 发帖数: 236 | 21 搞两个子函数,字符串相加,字符串乘单个字符。一次通过。哈哈。
【在 p*****2 的大作中提到】 : : 哈哈。做完了。用的StringBuilder, 还可以reverse。不过这题上次你发的时候我写过 : 一次。写第二次还是要好很多。不过面试写起来也很麻烦。尤其是白板不够大,就麻烦 : 了。
|
t**********h 发帖数: 2273 | 22 我擦,二爷这是在bso啊。我leetcode估计就做过一两题,下周一就去onsite了,估计
就成裸奔了
【在 p*****2 的大作中提到】 : 同郁闷。做了四天还没做完leetcode。就这破水平怎么可能拿到offer呢。
|
t**********h 发帖数: 2273 | 23 循环做,用杨鹏21天背单词的方法做,挑战遗忘曲线。新题为辅,复习为主。慢慢就好了
【在 f*********m 的大作中提到】 : 可是做了后面的,忘了前面的,这也不是办法啊!
|
f*********m 发帖数: 726 | 24 就是说复习做过的题和教科书?
关于新题,careercup网站上的题实在是太多了,太受打击。除了150和leetcode,还有
什么题目来源比较好?
谢谢。
好了
【在 t**********h 的大作中提到】 : 循环做,用杨鹏21天背单词的方法做,挑战遗忘曲线。新题为辅,复习为主。慢慢就好了
|
j******2 发帖数: 362 | 25 我现在正在这个阶段,只是150道而已,做过一周就记不清了。重写一定有错。按照众
多面经的说法,每道题都要一气呵成滴水不漏,不知何时能到此境界。而且完全不能遇
见新题,只能乞求遇到做过的题。而且又累又枯燥。人生轮回,历经高考,GT的我们,
又要考做题来获取下一个进步。
【在 f*********m 的大作中提到】 : 就是说复习做过的题和教科书? : 关于新题,careercup网站上的题实在是太多了,太受打击。除了150和leetcode,还有 : 什么题目来源比较好? : 谢谢。 : : 好了
|
c*****e 发帖数: 3226 | 26 人生真tmd的悲哀,也在做题中。
【在 j******2 的大作中提到】 : 我现在正在这个阶段,只是150道而已,做过一周就记不清了。重写一定有错。按照众 : 多面经的说法,每道题都要一气呵成滴水不漏,不知何时能到此境界。而且完全不能遇 : 见新题,只能乞求遇到做过的题。而且又累又枯燥。人生轮回,历经高考,GT的我们, : 又要考做题来获取下一个进步。
|
m*****n 发帖数: 204 | 27 说实在的我觉得这版上有些人自己吓唬自己。与其到处找不会作的题,不如多找些基本
的练练增强信心。基础知识有了,面试时又能保持镇定,只要不遇到故意刁难的,算法
类问题对付下来还是有很大可能的。
补充一句:我面试时作题很少能做到毫无错误,所以至少有的面试者是不那么变态的。
【在 f*********m 的大作中提到】 : 本人EE背景,复习算法也有些日子了。除了150题和leetcode,自己还找了些题来做, : 不会的题看着答案做。也读了些算法的书。但是现在碰到有些难度的题,还是思路不清 : 楚,不能联系到做过的题。而且很健忘,见到做过的题或是看过答案的题也不能比较清 : 楚地回想起一些重要细节,一些基本题也不是很自信。 : 像我这种情况,是应该继续做新题呢还是把做过的题再过一遍?或者再看看算法书,牢 : 固基础?或者。。。? : 请大家指教。
|
p*g 发帖数: 141 | 28 private static String strMultiple(String s1, String s2) {
int len2 = s2.length();
String rv = "";
for (int i = 0; i < len2; i++) {
String part = strMultipleChar(s1, s2.charAt(i));
rv = rv + "0";
rv = strSum(part, rv);
}
return rv;
}
private static String strSum(String s1, String s2) {
StringBuilder sb = new StringBuilder();
int carryin = 0;
int len1 = s1.length();
int len2 = s2.length();
int loop = Math.max(len1, len2);
for (int i = 0; i < loop; i++) {
int n1 = len1 - 1 - i < 0 ? 0 : s1.charAt(len1 - i - 1) - '0';
int n2 = len2 - 1 - i < 0 ? 0 : s2.charAt(len2 - i - 1) - '0';
int step = n1 + n2 + carryin;
sb.insert(0, step % 10);
carryin = step / 10;
}
if (carryin > 0)
sb.insert(0, carryin);
return sb.toString();
}
private static String strMultipleChar(String s1, char c) {
int n = c - '0';
StringBuilder sb = new StringBuilder();
int carryin = 0;
int len = s1.length();
for (int i = 0; i < len; i++) {
int m = s1.charAt(len - 1 - i) - '0';
int stepResult = m * n + carryin;
sb.insert(0, stepResult % 10);
carryin = stepResult / 10;
}
if (carryin > 0)
sb.insert(0, carryin);
return sb.toString();
}
【在 q***y 的大作中提到】 : 搞两个子函数,字符串相加,字符串乘单个字符。一次通过。哈哈。
|