Skip to content

Latest commit

 

History

History
382 lines (282 loc) · 43 KB

06.Interview-100-List.md

File metadata and controls

382 lines (282 loc) · 43 KB

LeetCode 面试最常考 100 题(按分类排序)

01. 数组

数组基础题目

题号 标题 题解 标签 难度
0054 螺旋矩阵 Python 数组、矩阵、模拟 中等
0048 旋转图像 Python 数组、数学、矩阵 中等

排序算法题目

选择排序题目

题号 标题 题解 标签 难度
0215 数组中的第K个最大元素 Python 数组、分治、快速选择、排序、堆(优先队列) 中等

希尔排序题目

题号 标题 题解 标签 难度
0912 排序数组 Python 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 中等

归并排序题目

题号 标题 题解 标签 难度
0912 排序数组 Python 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 中等
0088 合并两个有序数组 Python 数组、双指针、排序 简单

快速排序题目

题号 标题 题解 标签 难度
0912 排序数组 Python 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 中等
0169 多数元素 Python 数组、哈希表、分治、计数、排序 简单

堆排序题目

题号 标题 题解 标签 难度
0912 排序数组 Python 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 中等
0215 数组中的第K个最大元素 Python 数组、分治、快速选择、排序、堆(优先队列) 中等

计数排序题目

题号 标题 题解 标签 难度
0912 排序数组 Python 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 中等

桶排序题目

题号 标题 题解 标签 难度
0912 排序数组 Python 数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序 中等

其他排序题目

题号 标题 题解 标签 难度
0136 只出现一次的数字 Python 位运算、数组 简单
0056 合并区间 Python 数组、排序 中等
0179 最大数 Python 贪心、数组、字符串、排序 中等

二分查找题目

二分下标题目

题号 标题 题解 标签 难度
0704 二分查找 Python 数组、二分查找 简单
0034 在排序数组中查找元素的第一个和最后一个位置 Python 数组、二分查找 中等
0153 寻找旋转排序数组中的最小值 Python 数组、二分查找 中等
0033 搜索旋转排序数组 Python 数组、二分查找 中等
0162 寻找峰值 Python 数组、二分查找 中等
0004 寻找两个正序数组的中位数 Python 数组、二分查找、分治 困难
0240 搜索二维矩阵 II Python 数组、二分查找、分治、矩阵 中等

二分答案题目

题号 标题 题解 标签 难度
0069 x 的平方根 Python 数学、二分查找 简单

双指针题目

对撞指针题目

题号 标题 题解 标签 难度
0015 三数之和 Python 数组、双指针、排序 中等

快慢指针题目

题号 标题 题解 标签 难度
0283 移动零 Python 数组、双指针 简单
0088 合并两个有序数组 Python 数组、双指针、排序 简单

分离双指针题目

题号 标题 题解 标签 难度
0415 字符串相加 Python 数学、字符串、模拟 简单

滑动窗口题目

固定长度窗口题目

题号 标题 题解 标签 难度
0239 滑动窗口最大值 Python 队列、数组、滑动窗口、单调队列、堆(优先队列) 困难

不定长度窗口题目

题号 标题 题解 标签 难度
0003 无重复字符的最长子串 Python 哈希表、字符串、滑动窗口 中等
0076 最小覆盖子串 Python 哈希表、字符串、滑动窗口 困难
0718 最长重复子数组 Python 数组、二分查找、动态规划、滑动窗口、哈希函数、滚动哈希 中等

02. 链表

链表经典题目

题号 标题 题解 标签 难度
0083 删除排序链表中的重复元素 Python 链表 简单
0082 删除排序链表中的重复元素 II Python 链表、双指针 中等
0206 反转链表 Python 递归、链表 简单
0092 反转链表 II Python 链表 中等
0025 K 个一组翻转链表 Python 递归、链表 困难
0234 回文链表 Python 栈、递归、链表、双指针 简单

链表排序题目

题号 标题 题解 标签 难度
0148 排序链表 Python 链表、双指针、分治、排序、归并排序 中等
0021 合并两个有序链表 Python 递归、链表 简单
0023 合并 K 个升序链表 Python 链表、分治、堆(优先队列)、归并排序 困难

链表双指针题目

题号 标题 题解 标签 难度
0141 环形链表 Python 哈希表、链表、双指针 简单
0142 环形链表 II Python 哈希表、链表、双指针 中等
0160 相交链表 Python 哈希表、链表、双指针 简单
0019 删除链表的倒数第 N 个结点 Python 链表、双指针 中等
剑指 Offer 22 链表中倒数第k个节点 Python 链表、双指针 简单
0143 重排链表 Python 栈、递归、链表、双指针 中等
0002 两数相加 Python 递归、链表、数学 中等

03. 堆栈

堆栈基础题目

题号 标题 题解 标签 难度
0155 最小栈 Python 栈、设计 中等
0020 有效的括号 Python 栈、字符串 简单
0227 基本计算器 II Python 栈、数学、字符串 中等
0232 用栈实现队列 Python 栈、设计、队列 简单
0394 字符串解码 Python 栈、递归、字符串 中等
0032 最长有效括号 Python 栈、字符串、动态规划 困难

单调栈

题号 标题 题解 标签 难度
0042 接雨水 Python 栈、数组、双指针、动态规划、单调栈 困难

04. 队列

队列基础题目

题号 标题 题解 标签 难度
0225 用队列实现栈 Python 栈、设计、队列 简单

优先队列题目

题号 标题 题解 标签 难度
0023 合并 K 个升序链表 Python 链表、分治、堆(优先队列)、归并排序 困难
0239 滑动窗口最大值 Python 队列、数组、滑动窗口、单调队列、堆(优先队列) 困难

05. 哈希表

哈希表题目

题号 标题 题解 标签 难度
0001 两数之和 Python 数组、哈希表 简单
0015 三数之和 Python 数组、双指针、排序 中等
0041 缺失的第一个正数 Python 数组、哈希表 困难
0128 最长连续序列 Python 并查集、数组、哈希表 中等
0136 只出现一次的数字 Python 位运算、数组 简单

06. 字符串

字符串基础题目

题号 标题 题解 标签 难度
0003 无重复字符的最长子串 Python 哈希表、字符串、滑动窗口 中等
0005 最长回文子串 Python 字符串、动态规划 中等
0415 字符串相加 Python 数学、字符串、模拟 简单
0151 反转字符串中的单词 Python 双指针、字符串 中等
0043 字符串相乘 Python 数学、字符串、模拟 中等
0014 最长公共前缀 Python 字典树、字符串 简单

07. 树

二叉树的遍历题目

题号 标题 题解 标签 难度
0144 二叉树的前序遍历 Python 栈、树、深度优先搜索、二叉树 简单
0094 二叉树的中序遍历 Python 栈、树、深度优先搜索、二叉树 简单
0102 二叉树的层序遍历 Python 树、广度优先搜索、二叉树 中等
0103 二叉树的锯齿形层序遍历 Python 树、广度优先搜索、二叉树 中等
0236 二叉树的最近公共祖先 Python 树、深度优先搜索、二叉树 中等
0104 二叉树的最大深度 Python 树、深度优先搜索、广度优先搜索、二叉树 简单
0112 路径总和 Python 树、深度优先搜索、广度优先搜索、二叉树 简单
0113 路径总和 II Python 树、深度优先搜索、回溯、二叉树 中等
0101 对称二叉树 Python 树、深度优先搜索、广度优先搜索、二叉树 简单
0124 二叉树中的最大路径和 Python 树、深度优先搜索、动态规划、二叉树 困难
0199 二叉树的右视图 Python 树、深度优先搜索、广度优先搜索、二叉树 中等
0226 翻转二叉树 Python 树、深度优先搜索、广度优先搜索、二叉树 简单

二叉树的还原题目

题号 标题 题解 标签 难度
0105 从前序与中序遍历序列构造二叉树 Python 树、数组、哈希表、分治、二叉树 中等

二叉搜索树题目

题号 标题 题解 标签 难度
0098 验证二叉搜索树 Python 树、深度优先搜索、二叉搜索树、二叉树 中等
0110 平衡二叉树 Python 树、深度优先搜索、二叉树 简单

并查集题目

题号 标题 题解 标签 难度
0128 最长连续序列 Python 并查集、数组、哈希表 中等

08. 图论

图的深度优先搜索题目

题号 标题 题解 标签 难度
0200 岛屿数量 Python 深度优先搜索、广度优先搜索、并查集、数组、矩阵 中等
0695 岛屿的最大面积 Python 深度优先搜索、广度优先搜索、并查集、数组、矩阵 中等
0144 二叉树的前序遍历 Python 栈、树、深度优先搜索、二叉树 简单
0094 二叉树的中序遍历 Python 栈、树、深度优先搜索、二叉树 简单
0129 求根节点到叶节点数字之和 Python 树、深度优先搜索、二叉树 中等
0124 二叉树中的最大路径和 Python 树、深度优先搜索、动态规划、二叉树 困难
0199 二叉树的右视图 Python 树、深度优先搜索、广度优先搜索、二叉树 中等
0543 二叉树的直径 Python 树、深度优先搜索、二叉树 简单
0662 二叉树最大宽度 Python 树、深度优先搜索、广度优先搜索、二叉树 中等

图的广度优先搜索题目

题号 标题 题解 标签 难度
0200 岛屿数量 Python 深度优先搜索、广度优先搜索、并查集、数组、矩阵 中等
0322 零钱兑换 Python 广度优先搜索、数组、动态规划 中等
0199 二叉树的右视图 Python 树、深度优先搜索、广度优先搜索、二叉树 中等
0662 二叉树最大宽度 Python 树、深度优先搜索、广度优先搜索、二叉树 中等

09. 基础算法

枚举算法题目

题号 标题 题解 标签 难度
0001 两数之和 Python 数组、哈希表 简单
0078 子集 Python 位运算、数组、回溯 中等
0221 最大正方形 Python 数组、动态规划、矩阵 中等

递归算法题目

题号 标题 题解 标签 难度
0024 两两交换链表中的节点 Python 递归、链表 中等
0206 反转链表 Python 递归、链表 简单
0092 反转链表 II Python 链表 中等
0021 合并两个有序链表 Python 递归、链表 简单
0070 爬楼梯 Python 记忆化搜索、数学、动态规划 简单
0104 二叉树的最大深度 Python 树、深度优先搜索、广度优先搜索、二叉树 简单
0124 二叉树中的最大路径和 Python 树、深度优先搜索、动态规划、二叉树 困难
0226 翻转二叉树 Python 树、深度优先搜索、广度优先搜索、二叉树 简单

分治算法题目

题号 标题 题解 标签 难度
0053 最大子数组和 Python 数组、分治、动态规划 中等
0023 合并 K 个升序链表 Python 链表、分治、堆(优先队列)、归并排序 困难
0004 寻找两个正序数组的中位数 Python 数组、二分查找、分治 困难
0169 多数元素 Python 数组、哈希表、分治、计数、排序 简单
0014 最长公共前缀 Python 字典树、字符串 简单

回溯算法题目

题号 标题 题解 标签 难度
0046 全排列 Python 数组、回溯 中等
0022 括号生成 Python 字符串、动态规划、回溯 中等
0078 子集 Python 位运算、数组、回溯 中等
0039 组合总和 Python 数组、回溯 中等
0093 复原 IP 地址 Python 字符串、回溯 中等

贪心算法题目

题号 标题 题解 标签 难度
0053 最大子数组和 Python 数组、分治、动态规划 中等
0056 合并区间 Python 数组、排序 中等
0122 买卖股票的最佳时机 II Python 贪心、数组 中等

位运算题目

题号 标题 题解 标签 难度
0136 只出现一次的数字 Python 位运算、数组 简单

10. 动态规划

动态规划题目

题号 标题 题解 标签 难度
0070 爬楼梯 Python 记忆化搜索、数学、动态规划 简单
0121 买卖股票的最佳时机 Python 数组、动态规划 简单
0322 零钱兑换 Python 广度优先搜索、数组、动态规划 中等
0300 最长递增子序列 Python 数组、二分查找、动态规划 中等
1143 最长公共子序列 Python 字符串、动态规划 中等
0718 最长重复子数组 Python 数组、二分查找、动态规划、滑动窗口、哈希函数、滚动哈希 中等
0064 最小路径和 Python 数组、动态规划、矩阵 中等
0072 编辑距离 Python 字符串、动态规划 困难
0032 最长有效括号 Python 栈、字符串、动态规划 困难
0221 最大正方形 Python 数组、动态规划、矩阵 中等
0062 不同路径 Python 数学、动态规划、组合数学 中等
0152 乘积最大子数组 Python 数组、动态规划 中等
0198 打家劫舍 Python 数组、动态规划 中等

11. 补充题目

设计数据结构题目

题号 标题 题解 标签 难度
0146 LRU 缓存 设计、哈希表、链表、双向链表 中等

模拟题目

题号 标题 题解 标签 难度
0008 字符串转换整数 (atoi) Python 字符串 中等
0165 比较版本号 双指针、字符串 中等
0468 验证IP地址 Python 字符串 中等

思维锻炼题目

题号 标题 题解 标签 难度
0031 下一个排列 数组、双指针 中等
0470 用 Rand7() 实现 Rand10() 数学、拒绝采样、概率与统计、随机化 中等

参考资料