Leetcode 高频题 2021 版

论坛 期权论坛 期权     
期权匿名问答   2022-2-20 04:28   8802   0

  • 题目按照面试频率降序排列
  • 增加难度分类,适合从简单开始学习
  • 增加细分类别,例如单调栈,前缀树等,一道题目可能会有多个类别




https://github.com/resumejob/Leetcode-retag
目录



  •   链表

    • 单链表
    • 双链表

  •   树

    • 线段树
    • 遍历
    • 构造
    • 路径 | 深度 | 翻转
    • 二叉搜索树
    • 前缀树

  •   栈

    • 基础
    • 单调栈

  •   堆

    • 基础

  •   二分查找
  •   位运算
  •   双指针与滑动窗口
  •   矩阵
  •   动态规划

    • 一维
    • 二维

  •   图论

    • Dijkstra
    • DFS
    • BFS
    • 拓扑排序

  •   并查集
  •   设计
  •   贪心
  •   回溯
  •   克隆
  •   数学
  •   * 极大极小化
  •   * 几何
  链表

单链表:

简单:


  • 206. 反转链表
  • 141. 环形链表
  • 83. 删除排序链表中的重复元素
  • 234. 回文链表
  • 203. 移除链表元素
  • 237. 删除链表中的节点
  • 876. 链表的中间结点
中等


  • 92. 反转链表 II
  • 143. 重排链表
  • 82. 删除排序链表中的重复元素 II
  • 19. 删除链表的倒数第 N 个结点
  • 148. 排序链表
  • 86. 分隔链表
  • 61. 旋转链表
  • 142. 环形链表 II
  • 147. 对链表进行插入排序
  • 138. 复制带随机指针的链表
  • 24. 两两交换链表中的节点
  • 328. 奇偶链表
  • 707. 设计链表
  • 109. 有序链表转换二叉搜索树
  • 430. 扁平化多级双向链表
  • 725. 分隔链表
困难


  • 25. K 个一组翻转链表
双链表:

简单:


  • 21. 合并两个有序链表
  • 160. 相交链表
中级


  • 2. 两数相加
  • 445. 两数相加 II
  • 1669. 合并两个链表
困难


  • 23. 合并 K 个升序链表
  树

遍历

简单


  • 145. 二叉树的后序遍历
  • 94. 二叉树的中序遍历
  • 589. N 叉树的前序遍历
  • 144. 二叉树的前序遍历
  • 590. N 叉树的后序遍历
中等


  • 102. 二叉树的层序遍历
  • 103. 二叉树的锯齿形层序遍历
  • 107. 二叉树的层序遍历 II
构造

简单


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


  • 105. 从前序与中序遍历序列构造二叉树
  • 106. 从中序与后序遍历序列构造二叉树
  • 114. 二叉树展开为链表
  • 889. 根据前序和后序遍历构造二叉树
  • 1008. 前序遍历构造二叉搜索树
困难


  • 297. 二叉树的序列化与反序列化
路径 | 深度 | 翻转

简单


  • 104. 二叉树的最大深度
  • 101. 对称二叉树
  • 226. 翻转二叉树
  • 543. 二叉树的直径
  • 257. 二叉树的所有路径
  • 110. 平衡二叉树
  • 617. 合并二叉树
  • 100. 相同的树
  • 112. 路径总和
  • 111. 二叉树的最小深度
中等


  • 236. 二叉树的最近公共祖先
  • 222. 完全二叉树的节点个数
  • 113. 路径总和 II
  • 437. 路径总和 III
  • 129. 求根节点到叶节点数字之和
  • 662. 二叉树最大宽度
  • 114. 二叉树展开为链表
  • 199. 二叉树的右视图
  • 116. 填充每个节点的下一个右侧节点指针
  • 515. 在每个树行中找最大值
困难


  • 124. 二叉树中的最大路径和
  • 297. 二叉树的序列化与反序列化
二叉搜索树

简单


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


  • 98. 验证二叉搜索树
  • 96. 不同的二叉搜索树
  • 95. 不同的二叉搜索树 II
  • 173. 二叉搜索树迭代器
  • 230. 二叉搜索树中第 K 小的元素
  • 99. 恢复二叉搜索树
字典树

简单


  • 720. 词典中最长的单词
中等


  • 208. 实现 Trie (前缀树)
  • 692. 前 K 个高频单词
  • 421. 数组中两个数的最大异或值
困难


  • 212. 单词搜索 II
线段树

中等


  • 1353. 最多可以参加的会议数目
  • 307. 区域和检索 - 数组可修改
困难


  • 315. 计算右侧小于当前元素的个数
  • 493. 翻转对
  • 218. 天际线问题
  • 715. Range 模块
  • 850. 矩形面积 II
  • 1157. 子数组中占绝大多数的元素
  • 699. 掉落的方块
  • 327. 区间和的个数
  栈

基础

简单


  • 20. 有效的括号
  • 1047. 删除字符串中的所有相邻重复项
  • 232. 用栈实现队列
  • 155. 最小栈
  • 225. 用队列实现栈
  • 1021. 删除最外层的括号
  • 682. 棒球比赛
  • 844. 比较含退格的字符串
中等


  • 1190. 反转每对括号间的子串
  • 394. 字符串解码
  • 456. 132 模式
  • 227. 基本计算器 II
  • 150. 逆波兰表达式求值
  • 503. 下一个更大元素 II
  • 71. 简化路径
  • 856. 括号的分数
  • 907. 子数组的最小值之和
  • 385. 迷你语法分析器
  • 1249. 移除无效的括号
  • 636. 函数的独占时间
  • 341. 扁平化嵌套列表迭代器
困难


  • 224. 基本计算器
  • 726. 原子的数量
单调栈

简单


  • 496. 下一个更大元素 I
中等


  • 739. 每日温度
  • 402. 移掉 K 位数字
  • 316. 去除重复字母
  • 1124. 表现良好的最长时间段
困难


  • 42. 接雨水
  • 84. 柱状图中最大的矩形
  • 85. 最大矩形
  • 321. 拼接最大数
  堆

基础

简单


  • 1046. 最后一块石头的重量
  • 703. 数据流中的第 K 大元素
中等


  • 215. 数组中的第 K 个最大元素
  • 347. 前 K 个高频元素
  • 692. 前K个高频单词
  • 378. 有序矩阵中第 K 小的元素
  • 451. 根据字符出现频率排序
  • 743. 网络延迟时间
  • 787. K 站中转内最便宜的航班
  • 973. 最接近原点的 K 个点
困难


  • 239. 滑动窗口最大值
  • 295. 数据流的中位数
  • 218. 天际线问题
  二分查找

简单


  • 69. x 的平方根
  • 704. 二分查找
  • 35. 搜索插入位置
  • 349. 两个数组的交集
  • 167. 两数之和 II - 输入有序数组
  • 278. 第一个错误的版本
中等


  • 300. 最长递增子序列
  • 74. 搜索二维矩阵
  • 34. 在排序数组中查找元素的第一个和最后一个位置
  • 81. 搜索旋转排序数组 II
  • 33. 搜索旋转排序数组
  • 454. 四数相加 II
  • 240. 搜索二维矩阵 II
  • 718. 最长重复子数组
  • 50. Pow(x, n)
  • 29. 两数相除
  • 287. 寻找重复数
  • 209. 长度最小的子数组
  • 153. 寻找旋转排序数组中的最小值
  • 162. 寻找峰值
  • 378. 有序矩阵中第 K 小的元素
  • 230. 二叉搜索树中第K小的元素
困难


  • 4. 寻找两个正序数组的中位数
  • 887. 鸡蛋掉落
  • 410. 分割数组的最大值
  • 154. 寻找旋转排序数组中的最小值 II
  位运算

简单


  • 136. 只出现一次的数字
  • 191. 位1的个数
  • 169. 多数元素
  • 190. 颠倒二进制位
  • 231. 2的幂
  • 389. 找不同
  • 461. 汉明距离
  • 405. 数字转换为十六进制数
  • 268. 丢失的数字
中等


  • 78. 子集
  • 338. 比特位计数
  • 1318. 或运算的最小翻转次数
  • 89. 格雷编码
  • 260. 只出现一次的数字 III
  • 371. 两整数之和
  • 137. 只出现一次的数字 II
  • 421. 数组中两个数的最大异或值
  双指针与滑动窗口

简单


  • 387. 字符串中的第一个唯一字符
  • 349. 两个数组的交集
  • 409. 最长回文串
  • 217. 存在重复元素
  • 204. 计数质数
  • 88. 合并两个有序数组
  • 283. 移动零
  • 125. 验证回文串
  • 344. 反转字符串
  • 27. 移除元素
  • 977. 有序数组的平方
中等


  • 3. 无重复字符的最长子串
  • 781. 森林中的兔子
  • 49. 字母异位词分组
  • 18. 四数之和
  • 560. 和为 K 的子数组
  • 454. 四数相加 II
  • 11. 盛最多水的容器
  • 16. 最接近的三数之和
  • 18. 四数之和
  • 424. 替换后的最长重复字符
  • 713. 乘积小于K的子数组
困难


  • 76. 最小覆盖子串
  • 992. K 个不同整数的子数组
  矩阵

简单


  • 867. 转置矩阵
  • 832. 翻转图像
中等


  • 54. 螺旋矩阵
  • 59. 螺旋矩阵 II
  • 73. 矩阵置零
  • 48. 旋转图像
  动态规划

一维

简单


  • 70. 爬楼梯
  • 53. 最大子序和
  • 121. 买卖股票的最佳时机
  • 746. 使用最小花费爬楼梯
中等


  • 337. 打家劫舍 III
  • 322. 零钱兑换
  • 300. 最长递增子序列
  • 139. 单词拆分
  • 152. 乘积最大子数组
  • 338. 比特位计数
  • 309. 最佳买卖股票时机含冷冻期
  • 264. 丑数 II
  • 279. 完全平方数
困难


  • 32. 最长有效括号
  • 354. 俄罗斯套娃信封问题
  • 123. 买卖股票的最佳时机 III
二维

中等


  • 5. 最长回文子串
  • 1143. 最长公共子序列
  • 131. 分割回文串
  • 62. 不同路径
  • 64. 最小路径和
  • 221. 最大正方形
  • 416. 分割等和子集
  • 718. 最长重复子数组
  • 494. 目标和
困难


  • 10. 正则表达式匹配
  • 72. 编辑距离
  • 887. 鸡蛋掉落
  • 132. 分割回文串 II
  • 44. 通配符匹配
  • 410. 分割数组的最大值
  图论

DFS

中等


  • 394. 字符串解码
  • 721. 账户合并
  • 547. 省份数量
  • 494. 目标和
  • 695. 岛屿的最大面积
  • 130. 被围绕的区域
  • 1631. 最小体力消耗路径
  • 207. 课程表
  • 417. 太平洋大西洋水流问题
困难


  • 679. 24 点游戏
BFS

简单


  • 690. 员工的重要性
中等


  • 279. 完全平方数
  • 130. 被围绕的区域
  • 1319. 连通网络的操作次数
  • 934. 最短的桥
  • 785. 判断二分图
  • 994. 腐烂的橘子
  • 752. 打开转盘锁
  • 1162. 地图分析
  • 529. 扫雷游戏
困难


  • 815. 公交路线
  • 127. 单词接龙
  • 1293. 网格中的最短路径
  • 773. 滑动谜题
  • 827. 最大人工岛
Dijkstra


  • 787. K 站中转内最便宜的航班
拓扑排序

中等


  • 207. 课程表
  • 210. 课程表 II
困难


  • 329. 矩阵中的最长递增路径
  • 1203. 项目管理
  并查集

中等


  • 200. 岛屿数量
  • 721. 账户合并
  • 547. 省份数量
  • 130. 被围绕的区域
  • 1631. 最小体力消耗路径
  • 399. 除法求值
  • 1319. 连通网络的操作次数
  • 684. 冗余连接
困难


  • 128. 最长连续序列
  • 765. 情侣牵手
  设计

简单


  • 1603. 设计停车系统
  • 705. 设计哈希集合
  • 706. 设计哈希映射
  • 703. 数据流中的第 K 大元素
中等


  • 146. LRU 缓存机制
  • 341. 扁平化嵌套列表迭代器
  • 208. 实现 Trie (前缀树)
  • 173. 二叉搜索树迭代器
  • 622. 设计循环队列
  • 380. O(1) 时间插入、删除和获取随机元素
困难


  • 295. 数据流的中位数
  • 460. LFU 缓存
  贪心

中等


  • 264. 丑数 II
  • 946. 验证栈序列
  • 767. 重构字符串
  • 373. 查找和最小的 K 对数字
  • 313. 超级丑数
  回溯

中等


  • 46. 全排列
  • 22. 括号生成
  • 93. 复原 IP 地址
  • 78. 子集
  • 17. 电话号码的字母组合
  • 79. 单词搜索
  • 90. 子集 II
  • 39. 组合总和
  • 77. 组合
  • 40. 组合总和 II
  • 47. 全排列 II
  • 842. 将数组拆分成斐波那契序列
  • 216. 组合总和 III
  • 89. 格雷编码
困难


  • 51. N 皇后
  • 37. 解数独
  • 126. 单词接龙 II
  • 1659. 最大化网格幸福感
  克隆

中等


  • 133. 克隆图
  • 138. 复制带随机指针的链表
  数学

简单


  • 204. 计数质数
  • 628. 三个数的最大乘积
  • 976. 三角形的最大周长
  • 202. 快乐数
  • 1232. 缀点成线
中等


  • 29. 两数相除
  • 343. 整数拆分
  • 166. 分数到小数
困难


  • 149. 直线上最多的点数
  极大极小化

简单


  • 292. Nim 游戏
中等


  • 375. 猜数字大小 II
  • 486. 预测赢家
  • 464. 我能赢吗
  • 877. 石子游戏
  几何

简单


  • 1232. 缀点成线
  • 1266. 访问所有点的最小时间
  • 892. 三维形体的表面积
中等


  • 1401. 圆和矩形是否有重叠
  • 963. 最小面积矩形 II
困难


  • 587. 安装栅栏
  • 1515. 服务中心的最佳位置
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:400157
帖子:80032
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP