LeetCode不知从何刷起?快来看!ACM金牌选手已经把【进阶刷题顺序】整理好了,每题还带详解!...

为什么会有这篇进阶刷题攻略

之前我在专栏中给大家整理过一套【编程新手必刷50题】刷题顺序备受好评,大致内容是按照:基本数据类型→判断语句→数组与循环→字符串与循环→栈与队列→简单递归,从简单题刷题,熟悉这类题型后,再慢慢做中等题目。

但我也能设身处地的感受到,光靠新手编程题库,还不足以支持一位初学者或老学员去参加秋招/社招。

所以我又爆肝了一个月,整理出了这份【进阶必刷编程80题】,希望帮助那些已经拥有扎实算法基础的同学,更加精进自己的刷题水平,更好的冲刺秋招/社招。

这次我将进阶题库分为十二个阶段,每一阶段的题目都是经典题或高频题,挨个刷就可以了,一起看下去吧。

LeetCode不知从何刷起?快来看!ACM金牌选手已经把【进阶刷题顺序】整理好了,每题还带详解!..._第1张图片

阶段一:链表

考察类型:

考察指针操作,Reference;中小公司考的比较多

必刷题目:

翻转链表(一) Algorithms

翻转链表(二)

K组翻转链表

链表的中点

带环链表

带环链表 II

链表排序

阶段二:二分法

考察类型:

整数二分、实数二分、二分答案;考察频率中等,能写好不容易写对

必刷题目:

二分查找

搜索二维矩阵

寻找峰值

经典二分查找问题

目标最后位置

阶段三:二分答案

必刷题目:

木材加工

书籍复印

方阵排队

评委出题

阶段四:相向双指针

考察类型:

变形题很多

必刷题目:

两数之和

三数之和

四数之和

接雨水

移动零

合并排序数组

最小子串覆盖

去除重复元素

全零子串的数量

字符串划分

两数组的交集

和大于S的最小子数组

阶段五:宽度优先搜索

考察类型:

考察频率高,实现不难

必刷题目:

岛屿的个数

课程表

骑士的最短路径II

单词接龙

图是否是树

绘制填充

迷宫

阶段六:二叉树遍历

考察类型:

最常考中序遍历非递归

必刷题目:

二叉树的前序遍历

二叉树的中序遍历

二叉树的后序遍历

二叉树的层次遍历

前序遍历和中序遍历树构造二叉树

中序遍历和后序遍历树构造二叉树

阶段七:二叉树&分治法

必刷题目:

对称二叉树

二叉树中最近的叶子

最小子树

最大子树

具有最大平均数的子树

阶段八:二叉树搜索树

必刷题目:

BST中第K小的元素

BST的中序前驱节点

在二叉查找树中插入节点

验证二叉查找树

两数之和 - BST版本

阶段九:深度优先搜索

考察类型:

考察是否会写递归

必刷题目:

订单分配

单词矩阵

数独

因式分解

汉诺塔

电话号码的字母组合

N皇后问题(一)

阶段十:坐标型动态规划

必刷题目:

不同的路径

不同的路径 II

老鼠跳跃

停在原地的方案数2

最长上升子序列

数字三角形

不同的子序列 II

阶段十一:背包型动态规划

必刷题目:

换硬币

组合总和 IV

背包问题

举重

浮点数组合和

背包问题(二)

背包问题 III

背包问题 IV

背包问题 V

最小划分

阶段十二:匹配型动态规划

必刷题目:

编辑距离

最长公共子序列

最长公共子串

正则表达式匹配

通配符匹配

刷到这里的人都能上岸,记得点个赞再走!

你可能感兴趣的:(二叉树,链表,算法,数据结构,面试)