朴素算法Bare Algo

LeetCode 热题 100

精选算法与数据结构百道高频面试题。

算法题

(110)

1. 两数之和

简单
数组哈希表

49. 字母异位词分组

中等
数组哈希表字符串排序

128. 最长连续序列

中等
数组哈希表并查集

283. 移动零

简单
数组双指针

11. 盛最多水的容器

中等
数组双指针贪心

15. 三数之和

中等
数组双指针排序

42. 接雨水

困难
数组双指针动态规划栈单调栈

3. 无重复字符的最长子串

中等
哈希表字符串滑动窗口

438. 找到字符串中所有字母异位词

中等
哈希表字符串滑动窗口

560. 和为 K 的子数组

中等
数组哈希表前缀和

239. 滑动窗口最大值

困难
数组队列滑动窗口堆单调队列

76. 最小覆盖子串

困难
哈希表字符串滑动窗口

53. 最大子数组和

中等
数组分治动态规划

56. 合并区间

中等
数组排序

189. 轮转数组

中等
数组数学双指针

238. 除了自身以外数组的乘积

中等
数组前缀和

41. 缺失的第一个正数

困难
数组哈希表

73. 矩阵置零

中等
数组哈希表矩阵

54. 螺旋矩阵

中等
数组矩阵模拟

48. 旋转图像

中等
数组数学矩阵

240. 搜索二维矩阵 II

中等
数组二分查找分治矩阵

160. 相交链表

简单
哈希表链表双指针

206. 反转链表

简单
链表递归

234. 回文链表

简单
链表双指针栈递归

141. 环形链表

简单
链表双指针哈希表

142. 环形链表 II

中等
链表双指针

21. 合并两个有序链表

简单
链表递归

2. 两数相加

中等
链表数学递归

19. 删除链表的倒数第 N 个结点

中等
链表双指针

24. 两两交换链表中的节点

中等
链表递归

25. K 个一组翻转链表

困难
链表递归

138. 随机链表的复制

中等
哈希表链表

148. 排序链表

中等
链表双指针分治排序归并排序

23. 合并 K 个升序链表

困难
链表分治堆归并排序

146. LRU 缓存

中等
哈希表链表设计双向链表

94. 二叉树的中序遍历

简单
栈树深度优先搜索

104. 二叉树的最大深度

简单
树深度优先搜索广度优先搜索

226. 翻转二叉树

简单
树深度优先搜索广度优先搜索

101. 对称二叉树

简单
树深度优先搜索广度优先搜索

543. 二叉树的直径

简单
树深度优先搜索

102. 二叉树的层序遍历

中等
树广度优先搜索

108. 将有序数组转换为二叉搜索树

简单
数组分治树二叉搜索树

98. 验证二叉搜索树

中等
树深度优先搜索二叉搜索树

230. 二叉搜索树中第 K 小的元素

中等
树深度优先搜索二叉搜索树

199. 二叉树的右视图

中等
树深度优先搜索广度优先搜索

114. 二叉树展开为链表

中等
树深度优先搜索栈链表

105. 从前序与中序遍历序列构造二叉树

中等
树数组哈希表分治

124. 二叉树中的最大路径和

困难
树深度优先搜索动态规划

437. 路径总和 III

中等
树深度优先搜索前缀和

236. 二叉树的最近公共祖先

中等
树深度优先搜索

200. 岛屿数量

中等
数组深度优先搜索广度优先搜索并查集矩阵

994. 腐烂的橘子

中等
数组广度优先搜索矩阵

207. 课程表

中等
深度优先搜索广度优先搜索图拓扑排序

208. 实现 Trie (前缀树)

中等
哈希表字符串设计字典树

46. 全排列

中等
数组回溯

78. 子集

中等
数组回溯位运算

17. 电话号码的字母组合

中等
哈希表字符串回溯

39. 组合总和

中等
数组回溯

22. 括号生成

中等
字符串动态规划回溯

79. 单词搜索

中等
数组回溯矩阵

131. 分割回文串

中等
字符串动态规划回溯

51. N 皇后

困难
数组回溯

35. 搜索插入位置

简单
数组二分查找

74. 搜索二维矩阵

中等
数组二分查找矩阵

34. 在排序数组中查找元素的第一个和最后一个位置

中等
数组二分查找

33. 搜索旋转排序数组

中等
数组二分查找

153. 寻找旋转排序数组中的最小值

中等
数组二分查找

4. 寻找两个正序数组的中位数

困难
数组二分查找分治

20. 有效的括号

简单
字符串栈

155. 最小栈

中等
栈设计

84. 柱状图中最大的矩形

困难
数组栈单调栈

739. 每日温度

中等
数组栈单调栈

394. 字符串解码

中等
栈递归字符串

215. 数组中的第 K 个最大元素

中等
数组分治排序堆快速选择

347. 前 K 个高频元素

中等
数组哈希表分治排序堆桶排序计数快速选择

295. 数据流的中位数

困难
双指针设计排序堆数据流

121. 买卖股票的最佳时机

简单
数组动态规划

55. 跳跃游戏

中等
数组动态规划贪心

45. 跳跃游戏 II

中等
数组动态规划贪心

763. 划分字母区间

中等
哈希表双指针字符串贪心

70. 爬楼梯

简单
动态规划数学

118. 杨辉三角

简单
数组动态规划

198. 打家劫舍

中等
数组动态规划

279. 完全平方数

中等
数学动态规划广度优先搜索

322. 零钱兑换

中等
数组动态规划广度优先搜索

139. 单词拆分

中等
哈希表字符串动态规划字典树

300. 最长递增子序列

中等
数组二分查找动态规划

152. 乘积最大子数组

中等
数组动态规划

416. 分割等和子集

中等
数组动态规划

32. 最长有效括号

困难
字符串动态规划栈

62. 不同路径

中等
数学动态规划组合数学

64. 最小路径和

中等
数组动态规划矩阵

5. 最长回文子串

中等
字符串动态规划

1143. 最长公共子序列

中等
字符串动态规划

72. 编辑距离

中等
字符串动态规划

136. 只出现一次的数字

简单
数组位运算

169. 多数元素

简单
数组哈希表分治排序计数

75. 颜色分类

中等
数组双指针排序

31. 下一个排列

中等
数组双指针

287. 寻找重复数

中等
数组双指针二分查找位运算

85. 最大矩形

困难
栈数组动态规划矩阵单调栈

10. 正则表达式匹配

困难
字符串动态规划递归

221. 最大正方形

中等
数组动态规划矩阵

96. 不同的二叉搜索树

中等
树二叉搜索树数学动态规划二叉树

309. 买卖股票的最佳时机含冷冻期

中等
数组动态规划

337. 打家劫舍 III

中等
树深度优先搜索动态规划二叉树

338. 比特位计数

简单
位运算动态规划

494. 目标和

中等
数组动态规划回溯

617. 合并二叉树

简单
树深度优先搜索广度优先搜索二叉树

647. 回文子串

中等
字符串动态规划