参考:https://www.zhihu.com/question/271330075/answer/2435900265
必要硬刷 500 道,大部分程序员刷 LeetCode 就是为了通过算法面试而已,完完整整掌握了 200 道算法题就行啦,这大概需要花费你 2 个月的时间。
我总结了算法面试中频繁考察的面试题,你把这些题目掌握好就不虚算法面试了。
第一周,链表、栈、队列
9、栈的基础知识
16、队列的基础知识
19、设计循环双端队列( LeetCode 641 )
第二周,递归、排序、贪心
1、递归基础知识
2、冒泡排序基础知识
3、选择排序基础知识
4、插入排序基础知识
5、快速排序基础知识
6、计数排序基础知识
7、归并排序
8、桶排序(了解即可)
9、堆排序
10、基数排序(了解即可)
11、希尔排序(了解即可)
13、颜色分类( LeetCode 75 )(✨有作业)
15、计算右侧小于当前元素的个数 ( LeetCode 315)
18、盛最多水的容器 ( LeetCode 11)(✨有作业)
19、两数之和(LeetCode 1)(✨有作业)
20、二叉堆基础知识
23、用最少数量的箭引爆气球( LeetCode 452 )
25、跳跃游戏( LeetCode 55 )(✨有作业)
27、买卖股票的最佳时机 II( LeetCode 122 )
30、加油站( LeetCode 134 )
31、合并区间( LeetCode 56 )
第三周,搜索算法、回溯算法、位运算、二分查找
1、二分查找基础知识
4、在排序数组中查找元素的第一个和最后一个位置( LeetCode 34 )(✨有作业)
5、搜索旋转排序数组( LeetCode 33 )(✨有作业)
9、剑指 Offer 53 – II. 0~n-1中缺失的数字
10、剑指 Offer 53 – I. 在排序数组中查找数字 I
11、剑指 Offer 51. 数组中的逆序对
13、第一个错误的版本( LeetCode 278 )
16、位运算基础知识
19、比特位计数( LeetCode 338 )
20、位 1 的个数( LeetCode 191 )
21、只出现一次的数字 II( LeetCode 137 )
22、只出现一次的数字 III( LeetCode 260 )
23、最大单词长度乘积( LeetCode 318 )
24、汉明距离( LeetCode 461 )
25、回溯基础知识
26、岛屿数量( LeetCode 200 )(✨有作业)
27、N 皇后( LeetCode 51 )(✨有作业)
28、子集( LeetCode 78 )
29、组合总和 II( LeetCode 40 )
30、括号生成( LeetCode 22 )
32、接雨水 II( LeetCode 407 )
33、组合( LeetCode 77 )
34、组合总和 II( LeetCode 216 )
35、分割回文串( LeetCode 131 )
36、全排列( LeetCode 46 )
第四周,二叉树
1、二叉树基础知识
7、从前序与中序遍历序列构造二叉树( LeetCode 105 )
12、将有序数组转换为二叉搜索树( LeetCode 108 )
13、把二叉搜索树转换为累加树( LeetCode 538 )
14、删除二叉搜索树中的节点( LeetCode 450 )
15、二叉树的序列化与反序列化( LeetCode 297 )
24、二叉搜索树的最近公共祖先( LeetCode 235 )
25、二叉搜索树的最小绝对差( LeetCode 530 )
第五周,动态规划、背包问题
1、动态规划基础知识和解题步骤
3、斐波那契数( LeetCode 509 )
6、零钱兑换 II( LeetCode 518 )
10、买卖股票的最佳时机II( LeetCode 122 )
11、买卖股票的最佳时机III( LeetCode 123 )
12、买卖股票的最佳时机IV( LeetCode 188 )
14、买卖股票的最佳时机含手续费(LeetCode 714)
20、不同的二叉搜索树( LeetCode 96 )
21、地下城游戏( LeetCode 174 )
31、最长回文子串( LeetCode 5 )
31、01 背包问题
32、目标和( LeetCode 494 )
33、最后一块石头的重量 II( LeetCode 1049 )
第六周,剑指 Offer 系列
在大厂的面试中,频繁的出现《剑指 Offer》上面的原题。
众所周知,刷题有一个很重要的技巧就是按照标签来刷,在某个时间段内只刷相对应的题目,这种做法可以极大的提高刷题的速度,而且能带来更好的效果。
1、持续地刷同个类型的题目,可以不断地巩固和加深理解。
2、可以更全面地接触这个数据结构,算法的各个变种,这会促使你对这个数据结构,算法的理解更加全面和深刻,学习的效率会更高。
而关于《剑指 Offer》,发现一个宝藏网站,里面的每一道都是算法面试的高频类型,并且提供详细的分析、精美的配图、易于理解的动画操作、保姆级别的注释、手把手的视频讲解。