Leetcode 高频题 2021 版

2022 年 2 月 5 日 专知
  • 题目按照面试频率降序排列

  • 增加难度分类,适合从简单开始学习

  • 增加细分类别,例如单调栈,前缀树等,一道题目可能会有多个类别


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. 服务中心的最佳位置


专知便捷查看

便捷下载,请关注专知公众号(点击上方蓝色专知关注)

  • 后台回复“L2021” 就可以获取Leetcode 高频题 2021 版》专知下载链接


专知,专业可信的人工智能知识分发 ,让认知协作更快更好!欢迎注册登录专知www.zhuanzhi.ai,获取70000+AI主题干货知识资料!


欢迎微信扫一扫加入专知人工智能知识星球群,获取最新AI专业干货知识教程资料和与专家交流咨询
点击“ 阅读原文 ”,了解使用 专知 ,查看获取70000+AI主题知识资源
登录查看更多
1

相关内容

LeetCode is a social platform for preparing IT technical interviews.
算法通关手册(LeetCode)
专知会员服务
157+阅读 · 2022年1月13日
找工作实用书《LeetCode 题解》,262页pdf
专知会员服务
129+阅读 · 2021年12月2日
NeurIPS 2021丨K-Net: 迈向统一的图像分割
专知会员服务
16+阅读 · 2021年11月25日
专知会员服务
7+阅读 · 2021年10月4日
【干货书】开放数据结构,Open Data Structures,337页pdf
专知会员服务
16+阅读 · 2021年9月17日
专知会员服务
43+阅读 · 2021年5月26日
【CVPR2021】重新思考BiSeNet让语义分割模型速度起飞
专知会员服务
32+阅读 · 2021年5月5日
实操教程|CUDA WarpReduce 学习笔记
极市平台
1+阅读 · 2022年4月6日
实例:手写 CUDA 算子,让 Pytorch 提速 20 倍
极市平台
4+阅读 · 2022年3月8日
算法通关手册(LeetCode)
专知
8+阅读 · 2022年1月13日
互联网算法面试题之旋转链表
极市平台
0+阅读 · 2021年11月25日
互联网高频算法面试题-构建乘积数组
极市平台
0+阅读 · 2021年11月24日
面经 | 算法工程师面试题汇总
极市平台
12+阅读 · 2019年10月14日
经验分享 | SLAM、3D vision笔试面试问题
计算机视觉life
24+阅读 · 2019年5月1日
LeetCode的C++ 11/Python3 题解及解释
专知
16+阅读 · 2019年4月13日
【 关关的刷题日记53】 Leetcode 100. Same Tree
专知
10+阅读 · 2017年12月1日
机器学习(23)之GBDT详解
机器学习算法与Python学习
12+阅读 · 2017年10月25日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Model Reduction via Dynamic Mode Decomposition
Arxiv
0+阅读 · 2022年4月20日
Arxiv
0+阅读 · 2022年4月20日
Arxiv
0+阅读 · 2022年4月19日
Arxiv
12+阅读 · 2018年1月28日
VIP会员
相关VIP内容
算法通关手册(LeetCode)
专知会员服务
157+阅读 · 2022年1月13日
找工作实用书《LeetCode 题解》,262页pdf
专知会员服务
129+阅读 · 2021年12月2日
NeurIPS 2021丨K-Net: 迈向统一的图像分割
专知会员服务
16+阅读 · 2021年11月25日
专知会员服务
7+阅读 · 2021年10月4日
【干货书】开放数据结构,Open Data Structures,337页pdf
专知会员服务
16+阅读 · 2021年9月17日
专知会员服务
43+阅读 · 2021年5月26日
【CVPR2021】重新思考BiSeNet让语义分割模型速度起飞
专知会员服务
32+阅读 · 2021年5月5日
相关资讯
实操教程|CUDA WarpReduce 学习笔记
极市平台
1+阅读 · 2022年4月6日
实例:手写 CUDA 算子,让 Pytorch 提速 20 倍
极市平台
4+阅读 · 2022年3月8日
算法通关手册(LeetCode)
专知
8+阅读 · 2022年1月13日
互联网算法面试题之旋转链表
极市平台
0+阅读 · 2021年11月25日
互联网高频算法面试题-构建乘积数组
极市平台
0+阅读 · 2021年11月24日
面经 | 算法工程师面试题汇总
极市平台
12+阅读 · 2019年10月14日
经验分享 | SLAM、3D vision笔试面试问题
计算机视觉life
24+阅读 · 2019年5月1日
LeetCode的C++ 11/Python3 题解及解释
专知
16+阅读 · 2019年4月13日
【 关关的刷题日记53】 Leetcode 100. Same Tree
专知
10+阅读 · 2017年12月1日
机器学习(23)之GBDT详解
机器学习算法与Python学习
12+阅读 · 2017年10月25日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员