我之前就是完全0基础、大龄转码,刷题上千然后进谷歌的……
这里0基础指的是没学过编程语言,没学过数据结构和算法,一上来就直接做题那种。
第一道题two sum,我显然不会做。我的笨方法就是看答案,背答案,然后默出来,就这样还是错了很多次。
然而就是这样低的起点,我把LC前300道题刷了至少3遍,累计刷题数超过1000道,最后靠刷题上岸了谷歌。(也有运气的成分,当时简单多了)
我并不鼓励大家从0开始刷题,毕竟我真的走了很多弯路,踩了无数坑。
如果能早点掌握正确的方法,我就不用刷1000道题了(虽然结果是好的)。
在Leetcode/LintCode开始刷题,首先最好能具备一定的基础,包括:
(这里说一下,我一开始是用的LeetCode。遇上LintCode有活动,便宜了小几百,就试用了一下,感觉功能差不多,给大家多个选择吧)
语言基础
用于刷题的编程语言有很多,算法是通用的,不受限于语言,主流的Java或者Python都可以。
Java的优点是用的公司多,一般面试官没有不会Java的;Python优势在于语法简单,coding能节省很多时间。
算法部分
二分搜索