h***s 发帖数: 45 | 1 Leetcode刷了几遍了,现在开始看CC150. 感觉CC150比较侧重基础一些。好多题都是
leetcode里的比较基础的题。
请问CC150有没有online judge呀,大家都是怎么复习CC150. |
|
t***e 发帖数: 27 | 2 Short term preparation: 面经 > leetcode (with careful selections of problems
) >> CC150.
You will get some sense from what your company will ask from 面经, then you
can go to leetcode to practice similar questions (or books contains similar
problems). CC150 is a OK book but just too easy and limited by the author's
knowledge, so I will say it is just an introductory book.
Long term preparation: Text books or books with lots of problems = leetcode
(try to solve all problems) >> CC150.
Since you have ... 阅读全帖 |
|
c**y 发帖数: 172 | 3 问题简单概述:Binary Tree T1(大)和T2(小),判断T2是不是T1的substree。
CC150给的解法是对于每一个Tree,用InOrder和PreOrder的方法生成两个序列,然后判
断T2的两个序列是不是T1两个序列的substring。CC150还有brutal force的解法(这里
就不讨论了)。
我的问题是
1.这个序列比较的解法要求T1和T2不能有duplicate元素?这个应该是确定的,参见
http://www.geeksforgeeks.org/check-if-a-binary-tree-is-subtree-
2.为什么不比较PostOrder生成的序列呢?下面是一个反例(如果只用PreOrder和
InOrder
,返回True,但是实际应该是False)
T1:
1
/ \
2 3
\
4
T2:
1
/ \
2 3
T1:
InOrder: 2134
PreOrder: 1234
T2:
InOrder: 213
PreOrder: 123
如果只用InOrder和... 阅读全帖 |
|
p*****2 发帖数: 21240 | 4 LZ你的问题,CC150已经有解答了,你仔细看一下。CC150的意思是太trivial了,肯定
不是面试官想考你的方向。 |
|
|
y*****3 发帖数: 451 | 6 大家复习cc150上的题的时候,都是自己写test case然后run吗?那如果有不易发现的
小bug的话也没法知道啊,网上有没有针对cc150的题目的OJ? |
|
l*********b 发帖数: 65 | 7 个人觉得cc150是本神书。以前也有过lz一样的问题。 但其实直到现在 我还没刷透彻
cc150 它涵盖知识点特别多。每道题都很有意义 而且综合性非常强。 如果说所谓的“
刷”只是勉强能写出每道题的答案 那就是不够 但如果真正理解每道题 并且能举一反
三 然后答案中的所以follow up都仔细思考研究 并上网搜一搜相关知识点。。我觉得
就是够了 至少我还没达到这个水平 |
|
s****y 发帖数: 503 | 8 最近在找工作,发现刷题还是有必要的,leetcode有题库OJ,可以网上刷题。
大家说的CC150是不是指的是Cracking the Coding Interview这本书?
careercup是不是没有网上刷题的?
大家练CC150是不是按照书上的题练,再参考书后的答案? |
|
G***n 发帖数: 163 | 9 刚刷完LeetCode.
想继续刷CC150
CC150 = Cracking the coding interview |
|
i*****h 发帖数: 1534 | 10 投非flag 建议cc150一定要看一下。只针对flag的话,就刷lc为主,但是cc150最好也
看下。 |
|
i*****h 发帖数: 1534 | 11 投非flag 建议cc150一定要看一下。只针对flag的话,就刷lc为主,但是cc150最好也
看下。 |
|
s**********g 发帖数: 14942 | 12 CC150只是入门熟悉一下的
刷那个也没啥用
真刷还是leetcode
你要把leetcode刷足了 要cc150何用 |
|
|
c**y 发帖数: 172 | 14 brutal force复杂度是比较高,但是如果有duplicate的话,只能用brutal force吧。
我只是不理解为什么CC150和我贴的论坛上说只用InOrder和PreOrder就可以了。上面那
个反例说明只用InOrder和PreOrder不够的。另外一个问题是InOrder,PreOrder和
PostOrder是不是就可以了呢(对于没有duplicate的元素)? |
|
n*****g 发帖数: 178 | 15 做了leetcode的题以后深刻发现,即使自己确认过的代码,也未必全对。我想问一下大
家是怎么检测CC150上的题目,难道只能靠自己写验证的程序吗?
谢谢!! |
|
p*****2 发帖数: 21240 | 16 虽然CC150里边错误很多,但是我觉得最大的好处是她给列了一个大提纲。以前总是关
注算法章节了,其实其他章节也听重要的。比如OO,Concurrency, System design等等
。当算法做到800题以后也需要去学习和总结的。 |
|
c******t 发帖数: 1500 | 17 CC150 + leetcode + 本版
估计也就300-400道题吧?
莫非二爷的意思是 topcoder, glassdoor, careercup 这些网站上的题也都是面试必备
? |
|
b*******l 发帖数: 590 | 18 脑子越来越不好使了。咋办?连CC150都搞不定,更别说leetcode了。现在的面试题真
是越来越难了。正确的路总是最难走的那一条。。。。。。。
大家都是过目不忘吗? |
|
|
w********p 发帖数: 948 | 20 我以为是说做Leetcode比CC150效果好。
原来是最后一张饼吃饱了。是这样哦。 |
|
|
W********e 发帖数: 45 | 22 CC150那本书的16.9 题:
Write an aligned malloc & free function that takes number of bytes and
aligned byte (which is always power of 2)
EXAMPLE
align_malloc (1000,128) will return a memory address that is a multiple of
128 and that points to memory of size 1000 bytes.
aligned_free() will free memory allocated by align_malloc.
这题题目我看不懂啊,请教一下大家,能不能给个例子说明一个题目?谢谢了! |
|
b*****n 发帖数: 618 | 23 我不知道cc150新版上有没有这道题,但是类似的题在版上已经讨论过很多次了
基本上就是precompute sum算比例 + binary search吧 |
|
e*****n 发帖数: 316 | 24 前一阵子发现去年一个好帖,给CC150题划了一些重点题目,但是现在找不到那个原帖
了,幸亏当时把内容存了一下!
但是我发现从17章开始,题号就对不上了,想问问当时那个帖子是针对第几版career
cup划的呀?谢谢! |
|
n*****g 发帖数: 178 | 25 题目是CC150第五版16.5题,题目是这样的:
Suppose we have the following code:
public class Foo {
public Foo() { . . . }
public void first() { ... }
public void second() { ... }
public void thirdQ { ... }
The same instance of Foo will be passed to three different threads. ThreadA
will call first, threads will call second, and threadC will call third.
Design a mechanism to ensure that first is called before second and second
is called before third.
这要换成C语言来问的话,是不是等同于这样问:一个foo函数,确保foo先被first调用
,然后再被second和third调用(f... 阅读全帖 |
|
m******2 发帖数: 1007 | 26 这样说来 cc150 就没什么用了?
problems
you
similar
s
leetcode |
|
c******t 发帖数: 1500 | 27 个人感觉CC150还是很重要的,基础嘛
如果基础打好了,就算某些稍难的题没见过,应该当场也能拿下 |
|
p*****2 发帖数: 21240 | 28 都很重要
最好先搞CC150, 再搞Leetcode, 在搞面镜 |
|
t***e 发帖数: 27 | 29 CC150 is good if you don't know what interview is. If you really want to
have a solid foundation, text books, without any doubt, should be way much
better choices in such scenario. That is the reason I said it is
introductory book. |
|
s*******u 发帖数: 220 | 30 java刚上手,看cc150有些迷糊:
1.5
line 9: mystr += last + "" + count; 这里为啥要插入“”?
1.8
isSubstring解法感觉有点想必要非充分,不是很可信,不知道可靠否。 |
|
s*******u 发帖数: 220 | 31 cc150 graph class, problem 4.2,中间用到graph class,以及相关method:
getNodes(),getAdjacent()。不知道是不是标准库里面的,求教。 |
|
F********h 发帖数: 170 | 32 下星期的面试,recruiter今天给我发了一封信,说是helpful document。激动的下下
来一看,是cc150题。
好了,决定不看这本书了。
[发表自未名空间手机版 - m.mitbbs.com] |
|
u*****o 发帖数: 1224 | 33 很经典的一题,
Compress a given string "aabbbccc" to "a2b3c3"
constraint: inplace compression, no extra space to be used
CC150的答案是JAVA的。。而且我觉得那个方法挺麻烦的,在网上搜了半天,似乎
AMAZON, GOOGLE都出过这题啊,很希望牛牛们能给个C++的解法,关键是
abcd 我的CODE RETURN a1b1c1d1啊。。还有如果COUNT>10,也不行。。反正各种弱。。。 |
|
b******7 发帖数: 92 | 34 要求inplace,和cc150上题不一样。你仔细想想,并注意这个case
"abcddddddddddefg"==> a1b1c1d10e1f1g1
我想不到除我给的方法外更简便的方法了 |
|
h**o 发帖数: 548 | 35 char *compress(char* str){
...
char* dest = (char*)malloc(sizeof(char)*(2*len+1));
...
};
cc150说如果COMPRESSION比原str短,才用新的dest。否则还用原来的str。那caller怎
么知道你返回的是原来的str,所以他不用free dest, 还是你返回了dest,需要caller
free 掉dest哪? |
|
a*****u 发帖数: 1712 | 36 大家说的cc150指的是什么?
另外,顺道问一句,”一个整数plus one“,这是个什么题? |
|
p*****2 发帖数: 21240 | 37 刚才看了一下,你这个问题CC150已经有解答了。 |
|
p*****2 发帖数: 21240 | 38
我说的意思就是CC150已经回答了LZ的问题了,不是这个题目的解答。 |
|
|
i****y 发帖数: 84 | 40 cc150上面是两个stack的长度相加,我觉得应该只是一个的长度啊。。。 |
|
h**o 发帖数: 548 | 41 谢谢 sunsnap. cc150 的 答案 挺绕的。
二爷有没有比较好的思路?
你用什么数据结构存parking spot?
目前我用一维数组: parking_spot = new array [capacity]; |
|
h**o 发帖数: 548 | 42 cc150是这么说的。 我觉得除非已经做过几遍,否则挺难一次写好的。又不能涂涂改改
的。 |
|
p*****e 发帖数: 537 | 43 怎么我看到的有好几个version?到底cc150是啥?大家给个链接吧! |
|
g**G 发帖数: 767 | 44 cc150没看过,不知道题目是啥,不过我猜是有一堆1分,2分,5分。。。的硬币然后给
一个值让你求所有的组合数目?
如果是这个题的话,dp的话要用两个变量,建一个2维表,一个维度是钱数,一个维度
是硬币的种类
假设硬币为d1,d2,... dn, f(x,y)表示所有小于等于y的硬币可以组合成x的组合数目
f(x,y) = sigma(f (x-di), di) (i=1...n, di<=y)
integer partiion同理,只不过硬币变成1,2,3,4,5.。。。n而已 |
|
i*****g 发帖数: 33 | 45 imagong.com, 有些CC150的题目。 |
|
f*****2 发帖数: 141 | 46 愁死我了,感觉思路老是和答案对不上。而且有些solution我真觉得有问题,难道是我
水平太差了?
比如这题:
Design an algorithm and write code to remove the duplicate characters in a
string without
using any additional buffer. NOTE: One or two additional variables is fine.
An extra
copy of the array is not.
FOLLOW UP
Write the test cases for this method
我一直在纠结的是这个remove,不知道怎么算remove,我的理解应该是把重复的元素删
除或置空,可程序总是测试不过。比如:
str[i] = ''; 不行,那应该怎么置空,或者删除?
看了答案,更是一头雾水。首先答案把函数返回值类型定义成void,这个我觉得不太对
,题目是要删除重复字符,那应该返回去掉重复字符之后的字符串啊,这样才能验证功
能不是。如果定义成void就算了,那这个函数... 阅读全帖 |
|
s********u 发帖数: 1109 | 47 建议lz先找本简短的教程补习一下语言,无论是java或者C++。然后务必买一本新版的
cc150,旧版错误是比较多。 |
|
a******e 发帖数: 710 | 48 int num = 5 * (rand5() - 1) + (rand5() - 1);
这一句生成0-24之间的整数且均匀分布。每个整数出现的概率都是相等的。
所以0-20这21个数出现的概率也是相等的。
取余数之后,每个余数0-6出现的概率也是相等的。 所以此算法是正确的。
效率问题:
这个算法循环一次就成功的概率为 21/25 = 84%。循环的次数服从几何分布。 平均复
杂度为25/21
你的第一种写法中,每次循环成功概率为7/25 = 14%。 平均复杂度为25/7。
所以cc150中的解法复杂度要好于你的解法。 |
|
m******d 发帖数: 75 | 49 一般说得space complexity指的是total 还是auxiliary?
cc150 1.1 里space complexity是 O(1)对吗?
另外,如果用C++ code的话,面试的人会不会在意里面出现一些继承于C的表达,像
memset, (int) double (to cast)等...
一般的算法题,应尽量用array还是iterator解决?
刚开始做题,希望能方向正确!
Thanks a million! |
|
G***n 发帖数: 877 | 50 我只是看了一遍就上leetcode了,但还是很多题目坐着费劲。俺不是牛人,觉得看
cc150 10遍还是这水平,所以还不如省时间多刷几遍题目了 |
|