大厂校招开发岗 60 题必刷清单
这份清单按开发岗高频题型整理顺序就是推荐刷题顺序。使用说明第一轮先刷1-40第二轮补41-60第三轮只重刷错题和高频难题每题至少做到能说出题型能写出主解法能说明时间复杂度和空间复杂度能举出边界用例一、数组 / 哈希两数之和三数之和最长连续序列缺失的第一个正数合并区间旋转数组除自身以外数组的乘积最大子数组和和为 K 的子数组字母异位词分组重点能力哈希去重前缀和区间合并原地修改数组子数组问题建模校招大礼包获取入口可能是至今最全最好最实用的校招大礼包减少信息差预期漫步无敌的刷提不如有的放矢针对性的准备这样才能有效备考有了这份资料不说100%拿到offer至少帮你提升50%概率拿到offer二、双指针 / 滑动窗口盛最多水的容器移动零接雨水无重复字符的最长子串最小覆盖子串长度最小的子数组找到字符串中所有字母异位词滑动窗口最大值重点能力左右指针收缩定长窗口不定长窗口单调队列字符串频次统计三、链表反转链表反转链表 II合并两个有序链表合并 K 个升序链表两两交换链表中的节点K 个一组翻转链表环形链表 II相交链表重点能力虚拟头节点快慢指针分治 / 小顶堆合并链表局部翻转指针断链与重连四、栈 / 队列 / 堆有效的括号最小栈用栈实现队列每日温度柱状图中最大的矩形前 K 个高频元素数组中的第 K 个最大元素数据流的中位数重点能力单调栈堆维护 Top K双堆栈和队列互相模拟结构设计题五、二分查找二分查找搜索旋转排序数组搜索二维矩阵在排序数组中查找元素的第一个和最后一个位置寻找峰值x 的平方根重点能力标准二分模板左边界 / 右边界答案二分旋转数组判定有序矩阵搜索六、二叉树二叉树的前序遍历二叉树的中序遍历二叉树的层序遍历二叉树的最大深度对称二叉树验证二叉搜索树二叉树的最近公共祖先路径总和翻转二叉树二叉树展开为链表重点能力DFS / BFS递归与迭代遍历二叉搜索树性质路径类问题树的结构改造七、回溯全排列子集组合总和括号生成重点能力回溯模板路径与选择列表剪枝去重结果集收集方式八、动态规划爬楼梯打家劫舍最长递增子序列最长公共子序列零钱兑换编辑距离重点能力状态定义状态转移初始化一维 / 二维 DP子序列问题建模高优先级二刷题下面这些题建议至少刷两遍三数之和最小覆盖子串接雨水滑动窗口最大值合并 K 个升序链表K 个一组翻转链表柱状图中最大的矩形二叉树的最近公共祖先最长公共子序列编辑距离7 天刷题建议Day 11 两数之和2 三数之和3 最长连续序列8 最大子数组和11 盛最多水的容器14 无重复字符的最长子串16 长度最小的子数组19 反转链表Day 221 合并两个有序链表22 合并 K 个升序链表24 K 个一组翻转链表25 环形链表 II27 有效的括号30 每日温度32 前 K 个高频元素33 数组中的第 K 个最大元素Day 335 二分查找36 搜索旋转排序数组38 查找第一个和最后一个位置40 x 的平方根41 前序遍历42 中序遍历43 层序遍历44 最大深度Day 446 验证二叉搜索树47 最近公共祖先48 路径总和49 翻转二叉树51 全排列52 子集53 组合总和54 括号生成Day 555 爬楼梯56 打家劫舍57 最长递增子序列58 最长公共子序列59 零钱兑换60 编辑距离Day 6重刷所有错题重点重做高频二刷题Day 7做一场模拟笔试做一轮手写题复盘每道高频题口述思路和复杂度面试前达标标准数组、链表、二叉树题能在10-15 分钟内写出主解滑动窗口、单调栈、堆题看到题能立刻识别模型DP 至少能独立写出爬楼梯 / 打家劫舍 / LCS / 编辑距离链表翻转、二叉树遍历、二分边界必须非常熟练所有题都能说明为什么这么做有没有更优解复杂度是多少边界情况是什么