62.不同路径 63.不用路径II 64.最小路径和 120.三角形最小路径和 931.下降路径最小和
72.编辑距离 132.分割回文串II 198.打家劫舍 213.打家劫舍II 221.最大正方形 309.最佳买卖股票时机含冷冻期 337.打家劫舍III 413.等差数列划分 1039.多边形三角剖分的最低分 1043.分割数组以得到最大和 1218. 最长定差子序列 1269.停在原地的方案数
94.二叉树的中序遍历 102.二叉树的层次遍历 103.二叉树的锯齿形遍历 107.二叉树的层次遍历II
108.将有序数组转换为二叉搜索树 110.平衡二叉树 112.路径总和 124.二叉树中的最大路径和
2.两数之和 160.相交链表 1171.从链表中删去总和值为零的连续结点
113.路径总和II 130.被围绕的区域 200.岛屿数量 417.太平洋大西洋水流问题 473.火柴拼正方形 695.岛屿的最大面积 785.判断二分图 934.最短的桥 1254.统计封闭岛屿的数目
122.买卖股票的最佳时机II 763.划分字母区间 1081.不同字符的最小序列 1247.交换字符使得字符串相等
3.无重复字符的最长子串 76.最小覆盖子串 209.长度最小的子数组 567.字符串的排列 1004.最大连续1的个数III 1234. 替换子串得到平衡字符串
关键在于:不合适就退回上一步 然后通过约束条件 减少时间复杂度
37.解数独 39.组合总和 40.组合总和II 46.全排列 47.全排列II 51.N皇后 77.组合 78.子集 90.子集II 131.分割回文串 216.组合总和III 691.贴纸拼词 842.将数组拆分成斐波那契数列 996.正方形数组的数目 1079.活字印刷 1219. 黄金矿工 1286. 字母组合迭代器 1239. 串联字符串的最大长度
1.两数之和 30.串联所有单词的子串 560.和为k的子数组 594.最长和谐子序列
33. 搜索旋转排序数组 81.搜索旋转数组II 240.搜索二维矩阵II 1281.使结果不超过阈值的最小除数
1190.反转每对括号间的子串 1029.删除字符串中所有相邻重复项II
LCP 3.机器人大冒险 119.杨辉三角II 357.计算各个位数不同的数字个数 391.完美矩形 401.二进制手表 1072.按列翻转得到最大行数 1217. 玩筹码 1253.重构2行二进制序列 1262. 可被三整除的最大和 1267.统计参与通信的服务器
LCP 1.猜数字 1189.气球的最大数量 1221.分割平衡字符串 1288.有序数组中出现次数超过25%的元素
题目 | 难度 | 语言 |
---|---|---|
LCP 1.猜数字 | easy | Java |
LCP 2.化简分式 | easy | Java |
LCP 3.机器人大冒险 | medium | Java |
1.两数之和 | easy | Java |
2.两数之和 | medium | Java |
3.无重复字符的最长子串 | medium | Java |
15.三数之和 | medium | Java |
18.四数之和 | medium | Java |
30.串联所有单词的子串 | hard | Java |
33. 搜索旋转排序数组 | medium | Java |
37.解数独 | medium | Java |
39.组合总和 | medium | Java |
40.组合总和II | medium | Java |
46.全排列 | medium | Java |
47.全排列II | medium | Java |
51.N皇后 | hard | Java |
62.不同路径 | medium | Java |
63.不同路径II | medium | Java |
64.最小路径和 | medium | Java |
72.编辑距离 | hard | Java Python |
76.最小覆盖子串 | hard | Java |
77.组合 | medium | Java |
78.子集 | medium | Java |
81.搜索旋转数组II | medium | Java |
90.子集II | medium | Java |
94.二叉树的中序遍历 | medium | Java Python |
95.不同的二叉搜索树II | medium | Java |
100.相同的树 | easy | Java |
101.对称二叉树 | easy | Java |
102.二叉树的层次遍历 | medium | Java |
103.二叉树的锯齿形遍历 | medium | Java |
107.二叉树的层次遍历II | easy | Java |
108.将有序数组转换为二叉搜索树 | easy | Java |
110.平衡二叉树 | easy | Java |
112.路径总和 | easy | Java |
113.路径总和II | medium | Java |
119.杨辉三角II | easy | Java |
120.三角形最小路径和 | medium | Java |
122.买卖股票的最佳时机II | easy | Java |
124.二叉树中的最大路径和 | hard | Java |
130.被围绕的区域 | medium | Java Python |
131.分割回文串 | medium | Java |
132.分割回文串II | hard | Java |
139.单词拆分 | medium | Java |
141.环形链表 | easy | Java |
153.寻找排序数组中的最小值 | easy | Java |
155.最小栈 | easy | Java |
165.比较版本号 | medium | Java |
160.相交链表 | easy | Java |
179.最大数 | medium | Java |
198.打家劫舍 | easy | Java |
200.岛屿数量 | medium | Java |
203.移除链表元素 | easy | Java |
206.反转链表 | easy | Java |
207.课程表 | medium | Java |
209.长度最小的子数组 | medium | Java |
210.课程表II | medium | Java |
213.打家劫舍II | medium | Java |
216.组合总和III | medium | Java |
221.最大正方形 | medium | Java |
225.用队列实现栈 | easy | Java |
232.用栈实现队列 | easy | Java |
234.回文链表 | easy | Java |
240.搜索二维矩阵II | medium | Java |
241.为运算表达式设计优先级 | medium | Java |
300.最长上升子序列 | medium | Java |
304.二维区域和检索-矩阵不可变 | medium | Java |
309.最佳买卖股票时机含冷冻期 | medium | Java |
322.零钱兑换 | medium | Java |
337.打家劫舍III | medium | Java |
357.计算各个位数不同的数字个数 | medium | Java |
391.完美矩形 | hard | Java |
401.二进制手表 | easy | Java |
402.移掉K位数字 | medium | Java |
413.等差数列划分 | medium | Java |
416.分割等和子集 | medium | Java |
417.太平洋大西洋水流问题 | medium | Java |
473.火柴拼正方形 | medium | Java |
525.连续数组 | medium | Java |
542.01矩阵 | medium | Java |
560.和为k的子数组 | medium | Java |
567.字符串的排列 | medium | Java |
594.最长和谐子序列 | easy | Java |
691.贴纸拼词 | hard | Java |
695.岛屿的最大面积 | medium | Java |
763.划分字母区间 | medium | Java |
785.判断二分图 | medium | Java |
842.将数组拆分成斐波那契数列 | medium | Java |
931.下降路径最小和 | medium | Java |
934.最短的桥 | medium | Java |
996.正方形数组的数目 | hard | Java |
1004.最大连续1的个数III | medium | Java |
1029.删除字符串中所有相邻重复项II | medium | Java |
1039.多边形三角剖分的最低分 | medium | Java |
1043.分割数组以得到最大和 | medium | Java |
1046.最后一块石头的重量 | easy | Java |
1072.按列翻转得到最大行数 | medium | Java |
1079.活字印刷 | medium | Java |
1081.不同字符的最小序列 | medium | Java |
1143.最长公共子序列 | medium | Java |
1171.从链表中删去总和值为零的连续结点 | medium | Java |
1189.气球的最大数量 | easy | Java |
1190.反转每对括号间的子串 | medium | Java Python |
1208. 尽可能使字符串相等 | medium | Java |
1213. 三个有序数组的交集 | easy | Java |
1214. 查找两棵二叉搜索树之和 | medium | Java |
1217. 玩筹码 | easy | Java |
1218. 最长定差子序列 | medium | Java |
1219. 黄金矿工 | medium | Java |
1221.分割平衡字符串 | easy | Java |
1226.哲学家进餐 | medium | Java |
1234. 替换子串得到平衡字符串 | medium | Java |
1239. 串联字符串的最大长度 | medium | Java |
1247.交换字符使得字符串相等 | easy | Java |
1253.重构2行二进制序列 | medium | Java |
1254.统计封闭岛屿的数目 | medium | Java |
1262.可被三整除的最大和 | medium | Java |
1267.统计参与通信的服务器 | medium | Java |
1269.停在原地的方案数 | hard | Java |
1281.使结果不超过阈值的最小除数 | medium | Java |
1286. 字母组合迭代器 | medium | Java |
1288.有序数组中出现次数超过25%的元素 | easy | Java |