菜鸟用careercup书和leetcode准备的一点体会

发信人: smilenceyu (smilence), 信区: JobHunting
标  题: 菜鸟用careercup书和leetcode准备的一点体会
发信站: BBS 未名空间站 (Tue Oct  8 19:13:56 2013, 美东)

感觉准备过程中走了很多弯路,一开始看很多经验说是大多数公司cc150就够用了,是
神书,结果我做了三遍,版上很多题目只要没见过还是不会做。然后我就开始做
leetcode,目前做到一半,不会的就看看discuss版面,有一定成效。

我觉得真正提高最大的是最近看面经。感觉自己思路见识广了很多,也开始大致明白为
什么有些人一看题就知道应该用backtracking,或者dp什么的。

其实原因并不是面经这个题有什么区别,而是如果做careercup书,不会做就看答案,
答案只会告诉你这道题目怎么解,这是我觉得cc150写的不好的地方。比如他每个章节
有一点基础知识,但不会把这些跟题目对应起来。结果你还是不会分类。

做leetcode就好一点点,因为discuss上面很多人会写自己的分析过程。就是“为什么
想到这样做”。

做面经是收获最大的,因为做一道题目的时间最长,没有现成答案,不会做只能去搜资
料。虽然找资料有很多冗余的过程,但是反而开拓了见识,了解了很多分析和分类的方
法。其实就是一种“模式识别”

比如一个boggle game题,搜到网上很多人总结这个题,比如暴力回溯算法,建立trie
的做法。我之前根本不会用trie,只看到cc150提了一句这个,但是看了这些详细的总
结,我就对这个有一个详细的了解。

还有比如wordladder,discuss版上的答案不怎么好,我就搜了些别的资料。我就开始
想最短路径,直觉上就是dijkstra,为什么都说用BFS呢?然后我就搜bfs+dijkstra,
发现维基百科说bfs就是dijkstra的特殊情况。对啊,就是边的weight变成1而已,而
priority_queue也就退换成了queue,然后我瞬间又明白了为什么heap在java和C++的实
现里,都被认作是一种“queue”

感觉就跟背单词一样,如果结合语境,去阅读单词的很多用法和例句,虽然这些用法和
例句未必记得住,但是因为花了很多功夫去查找冗余信息,反而记住这个单词本身就相
当容易了。

编程比起背单词要强调理解的多,所以这个道理应该是更加明显。

转自 http://blog.sina.com.cn/s/blog_631d3a630101mg9t.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值