系列问题集合
1.数组
子数组
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
152.乘积最大子数组 | 数组、动态规划 | Medium | 完成 |
209.长度最小的子数组 | 数组、双指针、二分查找 | Medium | 完成 |
560.和为K的子数组 | 数组、哈希表 | Medium | 完成 |
581.最短无序连续子数组 | 数组 | Easy | 完成 |
643.子数组最大平均数I | 数组 | Easy | 完成 |
718.最长重复子数组 | 数组、哈希表、 二分查找、动态规划 |
Medium | 完成 |
974.和可被K整除的子数组 | 数组、哈希表 | Medium | 完成 |
978.最长湍流子数组 | 数组、动态规划、Sliding Window | Medium | 完成 |
1460.通过翻转子数组使两个数组相等 | 数组 | Easy | 完成 |
1493.删掉一个元素以后全为1的最长子数组 | 数组 | Medium | 完成 |
1508.子数组和排序后的区间和 | 排序、数组 | Medium | 完成 |
1526.形成目标数组的子数组最少增加次数 | 线段树 | Hard | 完成 |
只出现一次的数字
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
136.只出现一次的数字 | 位运算、哈希表 | Easy | 完成 |
137.只出现一次的数字II | 位运算 | Medium | 完成 |
260.只出现一次的数字III | 位运算 | Medium | 完成 |
数组交集
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
349.两个数组的交集 | 排序、哈希表、双指针、二分查找 | Easy | 完成 |
350.两个数组的交集II | 排序、哈希表、双指针、二分查找 | Easy | 完成 |
重复元素
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
217.存在重复元素 | 数组、哈希表 | Easy | 完成 |
219.存在重复元素II | 数组、哈希表 | Easy | 完成 |
220.存在重复元素III | 排序、Ordered Map | Medium | 完成 |
442.数组中重复的数据 | 数组 | Medium | 完成 |
448.找到所有数组中消失的数字 | 数组 | Easy | 完成 |
旋转数组
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
81.搜索旋转排序数组II | 数组、二分查找 | Medium | 完成 |
几数之和
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
1.两数之和 | 数组、哈希表 | Easy | 完成 |
167.两数之和II-输入有序数组 | 数组、双指针、二分查找 | Easy | 完成 |
653.两数之和IV-输入BST | 树 | Easy | 完成 |
15.三数之和 | 数组、双指针 | Medium | 完成 |
16.最接近的三数之和 | 数组、双指针 | Medium | 完成 |
18.四数之和 | 数组、哈希表、双指针 | Medium | 完成 |
454.四数相加II | 哈希表、二分查找 | Medium | 完成 |
杨辉三角
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
118.杨辉三角 | 数组 | Easy | 完成 |
119.杨辉三角II | 数组 | Easy | 完成 |
2.字符串
回文字符串(高频)(动态规划/中心扩展/马拉车算法)
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
5.最长回文子串 | 字符串、动态规划 | Medium | 完成 |
9.回文数 | 数学 | Easy | 完成 |
125.验证回文串 | 双指针、字符串 | Easy | 完成 |
131.分割回文串 | 回溯算法 | Medium | 完成 |
214.最短回文串 | 字符串 | Hard | 完成 |
409.最长回文串 | 哈希表 | Easy | 完成 |
516.最长回文子序列 | 动态规划 | Medium | 完成 |
647.回文子串 | 字符串、动态规划 | Medium | 完成 |
680.验证回文字符串Ⅱ | 字符串 | Easy | 完成 |
1332.删除回文子序列 | 字符串 | Easy | 完成 |
反转字符串
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
344.反转字符串 | 双指针、字符串 | Easy | 完成 |
541.反转字符串II | 字符串 | Easy | 完成 |
557.反转字符串中的单词III | 字符串 | Easy | 完成 |
345.反转字符串中的元音字母 | 双指针、字符串 | Easy | 完成 |
子串问题
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
3.无重复字符的最长子串 | 哈希表、双指针、字符串 Sliding Window | Medium | 完成 |
5.最长回文子串 | 字符串、动态规划 | Medium | 完成 |
1513.仅含1的子串数 | 数学、字符串 | Medium | 完成 |
696.计数二进制子串 | 字符串 | Easy | 完成 |
子序问题
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
53.最大子序和 | 数组、分治算法、动态规划 | Easy | 完成 |
300.最长上升子序列 | 二分查找、动态规划 | Medium | 完成 |
392.判断子序列 | 贪心算法、二分查找、动态规划 | Easy | 完成 |
583.两个字符串的删除操作 | 字符串 | Medium | 完成 |
594.最长和谐子序列 | 哈希表 | Easy | 完成 |
646.最长数对链 | 动态规划 | Medium | 完成 |
1332.删除回文子序列 | 字符串 | Easy | 完成 |
1403.非递增顺序的最小子序列 | 贪心算法、排序 | Easy | 完成 |
回文子序列
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
516.最长回文子序列 | 动态规划 | Medium | 完成 |
1143.最长公共子序列 | 动态规划 | Medium | 完成 |
1312.让字符串成为回文串的最少插入次数 | 动态规划 | Hard | 完成 |
3.链表
有序链表删除重复元素
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
83.删除排序链表中的重复元素 | 链表 | Easy | 完成 |
82.删除排序链表中的重复元素II | 链表 | Medium | 完成 |
4.树
二叉树
路径总和
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
112.路径总和 | 树、深度优先搜索 | Easy | 完成 |
113.路径总和II | 树、深度优先搜索 | Medium | 完成 |
437.路径总和III | 树 | Easy | 完成 |
多叉树
动态规划
股票问题
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
121.买卖股票的最佳时机 | 数组、动态规划 | Easy | 完成 |
122.买卖股票的最佳时机II | 贪心算法、数组 | Easy | 完成 |
123.买卖股票的最佳时机III | 数组、动态规划 | Hard | 完成 |
188.买卖股票的最佳时机IV | 动态规划 | Hard | 完成 |
309.最佳买卖股票时机含冷冻期 | 动态规划 | Medium | 完成 |
714.买卖股票的最佳时机含手续费 | 贪心算法、数组、动态规划 | Medium | 完成 |
面试题63.股票的最大利润 | 动态规划 | Medium | 完成 |
901.股票价格跨度 | 栈 | Medium | 完成 |
502.IPO | 堆、贪心算法 | Hard | 完成 |
打家劫舍问题
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
198.打家劫舍 | 动态规划 | Easy | 完成 |
213.打家劫舍II | 动态规划 | Medium | 完成 |
337.打家劫舍III | 树、深度优先搜索 | Medium | 完成 |
零钱兑换
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
322.零钱兑换 | 动态规划 | Medium | 完成 |
518.零钱兑换II | Medium | 完成 | |
面试题08.11.硬币 | 动态规划 | Medium | 完成 |
回溯算法
组合问题
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
39.组合总和 | 数组、回溯算法 | Medium | 完成 |
40.组合总和II | 数组、回溯算法 | Medium | 完成 |
216.组合总和III | 数组、回溯算法 | Medium | 完成 |
77.组合 | 回溯算法 | Medium | 完成 |
全排列问题
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
46.全排列 | 回溯算法 | Medium | 完成 |
47.全排列II | 回溯算法 | Medium | 完成 |
子集问题
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
78.子集 | 位运算、数组、回溯算法 | Medium | 完成 |
90.子集II | 数组、回溯算法 | Medium | 完成 |
八皇后
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
51.N皇后 | 回溯算法 | Hard | 完成 |
52.N皇后II | 回溯算法 | Hard | 完成 |
其他
Top K问题
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
703.数据流中的第K大元素 | 堆 | Easy | 完成 |
215.数组中的第K个最大元素 | 堆、分治算法 | Medium | 完成 |
347.前K个高频元素 | 堆、哈希表 | Medium | 完成 |
378.有序矩阵中第K小的元素 | 堆、二分查找 | Medium | 完成 |
面试题17.09.第k个数 | 堆、队列、数学 | Medium | 完成 |
面试题17.14.最小K个数 | 堆、排序、分治算法 | Medium | 完成 |
博弈问题
石子游戏
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
877.石子游戏 | 极小化极大、数学、动态规划 | Medium | 完成 |
1140.石子游戏II | 动态规划 | Medium | 完成 |
1406 | |||
1510.石子游戏IV | 动态规划 | Hard | 完成 |
1563.石子游戏V | 动态规划 | Hard | 完成 |
1686.石子游戏VI | 贪心算法 | Medium | 完成 |
1690.石子游戏VII | 动态规划 | Medium | 完成 |
2029.石子游戏IX | 贪心、数组、数学、计数、博弈 | Medium | 完成 |
Nim游戏-极小化极大
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
292.Nim游戏 | 脑筋急转弯、极小化极大 | Easy | 完成 |
486.预测赢家 | 极小化极大、动态规划 | Medium | 完成 |
跳跃游戏系列
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
45.跳跃游戏II | 贪心算法、数组 | Hard | 完成 |
55.跳跃游戏 | 贪心算法、数组 | Medium | 完成 |
403.青蛙过河 | 动态规划 | Hard | 完成 |
1306.跳跃游戏III | 广度优先搜索、图 | Medium | 完成 |
1340.跳跃游戏V | 动态规划 | Hard | 完成 |
1654.到家的最少跳跃次数 | 广度优先搜索、动态规划 | Medium | 完成 |
1696.跳跃游戏VI | Medium | 完成 | |
1871.跳跃游戏VII | 贪心算法、广度优先搜索、 Line Sweep |
Medium | 完成 |
灯泡问题
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
319.灯泡开关 | 脑筋急转弯、数学 | Medium | 完成 |
672.灯泡开关Ⅱ | 位运算、深度优先搜索、广度优先搜索、数学 | Medium | 完成 |
1375.灯泡开关III | 数组 | Medium | 完成 |
1529.灯泡开关IV | 字符串 | Medium | 完成 |
单调栈
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
42.接雨水 | 栈、数组、双指针 | Hard | 完成 |
84.柱状图中最大的矩形 | 栈、数组 | Hard | 完成 |
85.最大矩形 | 栈、数组、哈希表、动态规划 | Hard | 完成 |
316.去除重复字母 | 栈、贪心算法 | Hard | 完成 |
402.移掉K位数字 | 栈、贪心算法 | Medium | 完成 |
496.下一个更大元素I | 栈 | Easy | 完成 |
503.下一个更大元素II | 栈 | Medium | 完成 |
739.每日温度 | 栈、哈希表 | Medium | 完成 |
901.股票价格跨度 | 栈 | Medium | 完成 |
962.最大宽度坡 | 数组 | Medium | 完成 |
1081.不同字符的最小子序列 | 字符串 | Medium | 完成 |
多源广度优先搜索
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
994.腐烂的橘子 | 广度优先搜索 | Medium | 完成 |
1162.地图分析 | 广度优先搜索、图 | Medium | 完成 |
542.01矩阵 | 深度优先搜索、广度优先搜索 | Medium | 完成 |
岛屿问题
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
200.岛屿数量 | 深度优先搜索、广度优先搜索、并查集 | Medium | 完成 |
463.岛屿的周长 | 哈希表 | Easy | 完成 |
695.岛屿的最大面积 | 深度优先搜索、数组 | Medium | 完成 |
994.腐烂的橘子 | 广度优先搜索 | Medium | 完成 |
1020.飞地的数量 | 深度优先搜索 | Medium | 完成 |
1254.统计封闭岛屿的数目 | 深度优先搜索 | Medium | 完成 |
图-拓扑排序
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
207.课程表 | 深度优先搜索、 广度优先搜索、图、拓扑排序 |
Medium | 完成 |
210.课程表II | 深度优先搜索、 广度优先搜索、图、拓扑排序 |
Medium | 完成 |
图-欧拉回路 / 欧拉通路
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
332.重新安排行程 | 深度优先搜索、图 | Medium | 完成 |
753 |
二分查找-最大化最小值、最小化最大值
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
410.分割数组的最大值 | 二分查找、动态规划 | Hard | 完成 |
875.爱吃香蕉的珂珂 | 二分查找 | Medium | 完成 |
1011.在D天内送达包裹的能力 | 数组、二分查找 | Medium | 完成 |
1283.使结果不超过阈值的最小除数 | 二分查找 | Medium | 完成 |
1482.制作m束花所需的最少天数 | 数组、二分查找 | Medium | 完成 |
1552.两球之间的磁力 | 数组、二分查找 | Medium | 完成 |
1760.袋子里最少数目的球 | 堆、二分查找 | Medium | 完成 |
1870.准时到达的列车最小时速 | 数学、二分查找 | Medium | 完成 |
2064.分配给商店的最多商品的最小值 | 数组、二分查找 | Medium | 完成 |
2187.完成旅途的最少时间 | 数组、二分查找 | Medium | 完成 |
2226.每个小孩最多能分到多少糖果 | 数组、二分查找 | Medium | 完成 |
LCP12.小张刷题计划 | 数组、二分查找 | Medium | 完成 |
滑动窗口
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
3.无重复字符的最长子串 | 哈希表、双指针、字符串 Sliding Window |
Medium | 完成 |
30.串联所有单词的子串 | 哈希表、双指针、字符串 | Hard | 完成 |
76.最小覆盖子串 | 哈希表、双指针、字符串、 Sliding Window |
Hard | 完成 |
159 | |||
209.长度最小的子数组 | 数组、双指针、二分查找 | Medium | 完成 |
239.滑动窗口最大值 | 堆、Sliding Window | Hard | 完成 |
340 | |||
438.找到字符串中所有字母异位词 | 哈希表 | Medium | 完成 |
567.字符串的排列 | 双指针、Sliding Window | Medium | 完成 |
632.最小区间 | 贪心、数组、哈希表、排序、 滑动窗口、堆(优先队列) | Hard | 完成 |
727 | |||
992.K个不同整数的子数组 | 哈希表、双指针、Sliding Window | Hard | 完成 |
1004.最大连续1的个数III | 双指针、Sliding Window | Medium | 完成 |
1052.爱生气的书店老板 | 数组、Sliding Window | Medium | 完成 |
区间问题
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
56.合并区间 | 排序、数组 | Medium | 完成 |
57.插入区间 | 排序、数组 | Hard | 完成 |
435.无重叠区间 | 贪心算法 | Medium | 完成 |
452.用最少数量的箭引爆气球 | 贪心算法、排序 | Medium | 完成 |
757.设置交集大小至少为2 | 贪心、数组、排序 | Hard | 完成 |
986.区间列表的交集 | 双指针 | Medium | 完成 |
1024.视频拼接 | 动态规划 | Medium | 完成 |
1235.规划兼职工作 | 排序、二分查找、动态规划 | Hard | 完成 |
1288.删除被覆盖区间 | 贪心算法、排序、Line Sweep | Medium | 完成 |
最大矩形面积问题
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
84.柱状图中最大的矩形 | 栈、数组 | Hard | 完成 |
85.最大矩形 | 栈、数组、哈希表、动态规划 | Hard | 完成 |
221.最大正方形 | 动态规划 | Medium | 完成 |
1139.最大的以1为边界的正方形 | 数组、动态规划、矩阵 | Medium | 完成 |
1277.统计全为1的正方形子矩阵 | 数组、动态规划、矩阵 | Medium | 完成 |
1504.统计全1子矩形 | 栈、数组、动态规划、矩阵、单调栈 | Medium | 完成 |
1727.重新排列后的最大子矩阵 | 贪心算法、排序 | Medium | 完成 |
连续数组
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
659.分割数组为连续子序列 | 堆、贪心算法 | Medium | 完成 |
846.一手顺子 | Ordered Map | Medium | 完成 |
1296.划分数组为连续数字的集合 | 贪心算法、数组 | Medium | 完成 |
子数组最大值
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
53.最大子序和 | 数组、分治算法、动态规划 | Easy | 完成 |
918.环形子数组的最大和 | 数组 | Medium | 完成 |
1186.删除一次得到子数组最大和 | 动态规划 | Medium | 完成 |
1191.K次串联后最大子数组之和 | 动态规划 | Medium | 完成 |
首尾选择问题
Title | Tag | 难度 | 完成情况 |
---|---|---|---|
877.石子游戏 | 极小化极大、数学、动态规划 | Medium | 完成 |
1690.石子游戏VII | 动态规划 | Medium | 完成 |
1770.执行乘法运算的最大分数 | 动态规划 | Medium | 完成 |