得知了一些事情(L 2),更加后悔自己的gpa了。
算法题是技术面试的重点,绝对是重点。简单题要求你能一遍写的bug free。实话,好像也没考过难题。
1.首先,打开leetcode那个网站之后在框里直接写,不要用IDE了。
2.其次,java流你需要了解容器最基本的用法和函数。C++流你需要了解STL的用法和泛型算法。(这是最基本的)
java:https://docs.oracle.com/javase/7/docs/api/overview-summary.html
3.按照分类刷题,就是右下角tag。
绝对不要一开始就点开数组,为什么,数组是什么都能用的,什么DP啦,贪心啦都能用数组。
我推荐第一个分类是链表,所有的链表题是有模版的,不管你做什么题,你都需要考虑三个因素:判头判尾判空。
hard难度的题目不想想就先放过,easy和medium难度的需要掌握,尤其是easy,面试要是考到原题一定要写的bug free.
easy和medium难度要是想不出来就看答案,看完答案AC之后这还不算完事,你第二天一定要不看答案自己写一遍。要是忘了就再看答案,然后第三天以此类推。
hard难度不要强求自己啦,你要是真能easy和medium全通了,找个差不多的好工作也根本不是啥问题。
4.看discuss很重要(选most votes),不要网上搜解题报告,要是discuss的code看不懂了再搜,看看有什么好的解释来帮助你理解这个问题。
还有一个重点就是一定要反复记忆,这个跟背单词没有任何区别,第一遍绝对是最痛苦的,如果你想来第二遍,你就会发现好多题都会了,都能写的bug free了。
要是想调试的话,直接在函数中间cout那个变量,leetcode是支持中间打印东西的。
还有一条,能写的短的函数一定要写的短。