一。刷题初期:
1)LeetCode按类型刷
2)先学习对应的datastructure/algrothms,然后刷对应的算法题目
3)easy 练手,主公media
刷题初期的遇到的问题:
1)easy 勉强能做出来,media靠答案,
解决办法:easy刷熟练,media第一次刷,不会的话可以看答案
2)有的题目有思路但是写不出代码
解决办法:跟着人家的讲解一个样例一个样例的走,然后看懂样例运行步骤之后自己写代码
3)有的算法看答案也看不懂---》这个时候就需要看youtube的视频讲解了
刷题中后期,稍微顺利一些的时候:我们应该每一道题目都应该当做自己在面试,需要多总结多记笔记
1)先分析general情况,拿test case 走一遍,理清思路
2)处理corner case(对于corner case要多记笔记)
3)分析自己写的时间复杂度和空间复杂度的效率问题
4)接着想是否可以有更好的优化算法
5)对照其他人的答案,学习更优化的算法代码
如何检查自己的刷题效果:
每一周leetcode平台都会放出新题目,要做到10~15min的easy难度的题搞定,media难度的题目10~15分钟有思路,30~40min写出来代码
看《一亩三分地》的面经
-----------------------------------------------------------------
leetcode刷300题就够用了,一定要熟悉自己的项目,把面试官可能问到的问题都想到回答一下
将leetcode的题目解析放到自己github上,
解题思路+code+注释(分析时间空间复杂度)+同一道题目有两种解法+两种版本的代码(c++/python)