进互联网中大厂,LeetCode算法题需要全刷吗?
2025-02-14 本文已影响0人
Du1in9
答:不需要,只用刷下面这些题目就好了。
| 代码随想录 | |||
|---|---|---|---|
| 1、数组 | 数组 | 二分查找 | 力扣 |
| 移除元素 | 力扣 | ||
| 有序数组的平方 | 力扣 | ||
| 长度最小的子数组 | 力扣 | ||
| 螺旋矩阵 Ⅱ | 力扣 | ||
| 2、链表 | 链表 | 移除链表元素 | 力扣 |
| 翻转链表 | 力扣 | ||
| 两两交换链表中的节点 | 力扣 | ||
| 删除链表的倒数第 N 个节点 | 力扣 | ||
| 链表相交 | 力扣 | ||
| 环形链表 Ⅱ | 力扣 | ||
| 3、哈希 | 哈希 | 有效字母异位词 | 力扣 |
| 两个数组的交集 | 力扣 | ||
| 快乐数 | 力扣 | ||
| 两数之和 | 力扣 | ||
| 四数相加 Ⅱ | 力扣 | ||
| 赎金信 | 力扣 | ||
| 三数之和 | 力扣 | ||
| 四数之和 | 力扣 | ||
| 4、字符串 | 字符串 | 反转字符串 | 力扣 |
| 反转字符串 Ⅱ | 力扣 | ||
| 替换数字 | 卡码网 | ||
| 翻转字符串中的单词 | 力扣 | ||
| 右旋转字符串 | 卡码网 | ||
| 找出字符串中第一个匹配项的下标 | 力扣 | ||
| 重复的子字符串 | 力扣 | ||
| 5、栈与队列 | 栈与队列 | 用栈实现队列 | 力扣 |
| 用队列实现栈 | 力扣 | ||
| 有效括号序列 | 力扣 | ||
| 删除字符串的相邻重复项 | 力扣 | ||
| 逆波兰表达式求值 | 力扣 | ||
| 滑动窗口最大值 | 力扣 | ||
| 前 K 个高频元素 | 力扣 | ||
| 6、二叉树 | 二叉树的遍历方式 | 二叉树的递归遍历(前、中、后序) | 力扣 |
| 二叉树的迭代遍历(前、中、后序) | 力扣 | ||
| 二叉树的层序遍历 | 力扣 | ||
| 二叉树的层序遍历 Ⅱ | 力扣 | ||
| 二叉树的右视图 | 力扣 | ||
| 二叉树的层平均值 | 力扣 | ||
| N 叉树的层序遍历 | 力扣 | ||
| 在每个树行中找最大值 | 力扣 | ||
| 填充每个节点的下一个右侧节点指针 | 力扣 | ||
| 二叉树的属性 | 对称二叉树 | 力扣 | |
| 二叉树的最大深度 | 力扣 | ||
| 二叉树的最小深度 | 力扣 | ||
| 完全二叉树的节点个数 | 力扣 | ||
| 平衡二叉树 | 力扣 | ||
| 二叉树 | 力扣 | ||
| 二叉树的所有路径 | 力扣 | ||
| 左叶子之和 | 力扣 | ||
| 找树左下角的值 | 力扣 | ||
| 路径总和 | 力扣 | ||
| 路径总和 Ⅱ | 力扣 | ||
| 二叉树的修改与构造 | 翻转二叉树 | 力扣 | |
| 从中序与后序构造二叉树 | 力扣 | ||
| 从前序与中序构造二叉树 | 力扣 | ||
| 最大二叉树 | 力扣 | ||
| 合并二叉树 | 力扣 | ||
| 二叉搜索树的属性 | 二叉搜索树中的搜索 | 力扣 | |
| 验证二叉搜索树 | 力扣 | ||
| 二叉搜索树的最小绝对差 | 力扣 | ||
| 二叉搜索树中的众数 | 力扣 | ||
| 把二叉搜索树转换为累加树 | 力扣 | ||
| 二叉搜索树的修改与构造 | 二叉搜索树中的插入操作 | 力扣 | |
| 删除二叉搜索树中的节点 | 力扣 | ||
| 修剪二叉搜索树 | 力扣 | ||
| 将有序数组转换为二叉搜索树 | 力扣 | ||
| 二叉树的公共祖先问题 | 二叉树的最近公共祖先 | 力扣 | |
| 二叉搜索树的最近公共祖先 | 力扣 | ||
| 7、回溯算法 | 组合问题 | 组合 | 力扣 |
| 组合总和 Ⅲ | 力扣 | ||
| 电话号码的字母组合 | 力扣 | ||
| 组合总和 | 力扣 | ||
| 组合总和 Ⅱ | 力扣 | ||
| 切割问题 | 分割回文串 | 力扣 | |
| 复原 IP 地址 | 力扣 | ||
| 子集问题 | 子集 | 力扣 | |
| 子集 Ⅱ | 力扣 | ||
| 递增子序列 | 力扣 | ||
| 排列问题 | 无重复项的全排列 | 力扣 | |
| 有重复项的全排列 | 力扣 | ||
| 棋盘问题 | N 皇后 | 力扣 | |
| 解数独 | 力扣 | ||
| 重新安排行程 | 力扣 | ||
| 8、贪心算法 | 简单问题 | 分发饼干 | 力扣 |
| K 次取反后最大化数组和 | 力扣 | ||
| 柠檬水找零 | 力扣 | ||
| 中等问题 | 摆动序列 | 力扣 | |
| 单调递增的数字 | 力扣 | ||
| 买卖股票的最佳时机 Ⅱ | 力扣 | ||
| 买卖股票的最佳时机含手续费 | 力扣 | ||
| 分发糖果 | 力扣 | ||
| 根据身高重建队列 | 力扣 | ||
| 困难问题 | 跳跃游戏 | 力扣 | |
| 跳跃游戏 Ⅱ | 力扣 | ||
| 用最少数量的箭引爆气球 | 力扣 | ||
| 无重叠区间 | 力扣 | ||
| 划分字母区间 | 力扣 | ||
| 合并区间 | 力扣 | ||
| 最大子序和 | 力扣 | ||
| 加油站 | 力扣 | ||
| 监控二叉树 | 力扣 | ||
| 9、动态规划 | 动态规划基础 | 斐波那契数列 | 力扣 |
| 爬楼梯 | 力扣 | ||
| 使用最小花费爬楼梯 | 力扣 | ||
| 不同路径 | 力扣 | ||
| 不同路径 Ⅱ | 力扣 | ||
| 整数拆分 | 力扣 | ||
| 不同的二叉搜索树 | 力扣 | ||
| 背包问题系列 | 分割等和子集 | 力扣 | |
| 最后一块石头的重量 Ⅱ | 力扣 | ||
| 目标和 | 力扣 | ||
| 一和零 | 力扣 | ||
| 零钱兑换 Ⅱ | 力扣 | ||
| 组合总和 Ⅳ | 力扣 | ||
| 爬楼梯(进阶版) | 卡码网 | ||
| 零钱兑换 | 力扣 | ||
| 完全平方数 | 力扣 | ||
| 单词拆分 | 力扣 | ||
| 打家劫舍系列 | 打家劫舍 | 力扣 | |
| 打家劫舍 Ⅱ | 力扣 | ||
| 打家劫舍 Ⅲ | 力扣 | ||
| 股票序列 | 买卖股票的最佳时机 | 力扣 | |
| 买卖股票的最佳时机 Ⅱ | 力扣 | ||
| 买卖股票的最佳时机 Ⅲ | 力扣 | ||
| 买卖股票的最佳时机 Ⅳ | 力扣 | ||
| 买卖股票的最佳时机含冷冻期 | 力扣 | ||
| 买卖股票的最佳时机含手续费 | 力扣 | ||
| 子序列系列 | 最长递增子序列 | 力扣 | |
| 最长公共子序列 | 力扣 | ||
| 不相交的线 | 力扣 | ||
| 两个字符串的删除操作 | 力扣 | ||
| 最长连续递增序列 | 力扣 | ||
| 最长重复子数组 | 力扣 | ||
| 最大子数组和 | 力扣 | ||
| 判断子序列 | 力扣 | ||
| 不同的子序列 | 力扣 | ||
| 编辑距离 | 力扣 | ||
| 回文子串 | 力扣 | ||
| 最长回文子序列 | 力扣 | ||
| 10、图论 | 深搜与广搜 | 所有可达路径 | 卡码网 |
| 岛屿数量 | 卡码网 | ||
| 岛屿的最大面积 | 卡码网 | ||
| 孤岛的总面积 | 卡码网 | ||
| 沉没孤岛 | 卡码网 | ||
| 水流问题 | 卡码网 | ||
| 建造最大岛屿 | 卡码网 | ||
| 字符串接龙 | 卡码网 | ||
| 有向图的完全可达性 | 卡码网 | ||
| 岛屿的周长 | 卡码网 | ||
| 并查集 | 寻找存在的路径 | 卡码网 | |
| 冗余连接 | 卡码网 | ||
| 冗余连接 Ⅱ | 卡码网 | ||
| 最小生成树 | prim 算法 | 卡码网 | |
| kruskal 算法 | 卡码网 | ||
| 拓扑排序 | 拓扑排序 | 卡码网 | |
| 最短路径算法 | dijkstra 算法(原始) | 卡码网 | |
| dijkstra 算法(优化) | 卡码网 | ||
| Bellman-ford 算法(原始) | 卡码网 | ||
| Bellman-ford 算法(优化) | 卡码网 | ||
| Bellman-ford 算法(判断负权回路) | 卡码网 | ||
| 单源有限最短路 | 卡码网 | ||
| Floyd 算法 | 卡码网 | ||
| A * 算法 | 卡码网 | ||
| 11、单调栈 | 单调栈 | 每日温度 | 力扣 |
| 下一个更大元素 | 力扣 | ||
| 下一个更大元素 Ⅱ | 力扣 | ||
| 接雨水 | 力扣 | ||
| 柱状图中最大的矩形 | 力扣 |
| 牛客Top101 | |
|---|---|
| 1、链表 | 反转链表 |
| 链表内指定区间反转 | |
| 合并两个排序的链表 | |
| 合并 k 个已排序的链表 | |
| 判断链表中是否有环 | |
| 链表中环的入口结点 | |
| 链表中倒数最后 k 个结点 | |
| 两个链表的第一个公共结点 | |
| 链表相加(二) | |
| 单链表的排序 | |
| 判断一个链表是否为回文结构 | |
| 链表的奇偶重排 | |
| 删除有序链表的重复元素(1) | |
| 删除有序链表的重复元素(2) | |
| 2、二分查找、排序 | 二分查找 |
| 二分查找 II | |
| 寻找峰值 | |
| 数组中的逆序对 | |
| 旋转数组的最小数字 | |
| 比较版本号 | |
| 排序数组 | |
| 3、二叉树 | 二叉树的前序遍历 |
| 二叉树的中序遍历 | |
| 二叉树的后序遍历 | |
| 二叉树的层序遍历 | |
| 填充每个节点的下一个右侧节点指针 II | |
| 二叉树的最大深度 | |
| 二叉搜索树与双向链表 | |
| 合并二叉树 | |
| 翻转二叉树 | |
| 判断是不是二叉搜索树 | |
| 判断是不是完全二叉树 | |
| 判断是不是平衡二叉树 | |
| 二叉树的最近公共祖先 | |
| 二叉搜索树的最近公共祖先 | |
| 序列化二叉树 | |
| 重建二叉树 | |
| 输出二叉树的右视图 | |
| 4、堆、栈、队列 | 用两个栈实现队列 |
| 包含min函数的栈 | |
| 有效括号序列 | |
| 滑动窗口最大值 | |
| 最小的 K 个数 | |
| 寻找第 K 大 | |
| 数据流中的中位数 | |
| 表达式求值 | |
| 5、哈希、贪心 | 字符串中的第一个唯一字符 |
| 数组中出现次数超过一半的数字 | |
| 数组中只出现一次的两个数字 | |
| 缺失的第一个正整数 | |
| 缺失的第 k 个正整数 | |
| 主持人调度(二) | |
| 最长回文子串 | |
| 合并区间、medium | |
| 6、递归、回溯 | 无重复项的全排列 |
| 有重复项的全排列 | |
| 岛屿数量 | |
| 字符串的排列 | |
| 复原 IP 地址 | |
| 括号生成 | |
| 矩阵最长递增路径 | |
| 7、动态规划 | 斐波那契数列 |
| 跳台阶 | |
| 最小花费爬楼梯 | |
| 最长公共子序列(二) | |
| 最长公共子串 | |
| 不同路径的数目 | |
| 矩阵的最小路径和 | |
| 把数字翻译成字符串 | |
| 兑换零钱 | |
| 最长上升子序列(一) | |
| 最大子数组和 | |
| 编辑距离(一) | |
| 打家劫舍(一) | |
| 打家劫舍(二) | |
| 8、字符串、双指针 | 字符串变形 |
| 最长公共前缀 | |
| 验证 IP 地址 | |
| 大数加法 | |
| 下一个排列 | |
| 判断是否为回文字符串 | |
| 反转字符串 | |
| 最长无重复子数组 | |
| 盛水最多的容器 | |
| 9、模拟 | 旋转数组 |
| 最大的两个数 | |
| 顺时针旋转矩阵 | |
| 设计 LRU 缓存结构 | |
| 设计 LFU 缓存结构 | |
| 把数字字符串转化成 IP 地址 | |
| 扫雷游戏 | |
| 多线程交替打印ABC |