刷题记录

海客谈瀛洲,烟涛微茫信难求
越人语天姥,云霞明灭或可睹

——李白《梦游天姥吟留别》

题目汇总

第二个数字是LC题号
# 代表一种解法
  1. 1 两数之和 #暴力 #哈希 排序
  2. 2. 两数相加 #模拟
  3. 3. 无重复字符的最长子串 #滑动窗口
  4. 4. 寻找两个正序数组的中位数 #二分查找
  5. 5. 最长回文子串 #DP #中心扩散算法
  6. 8. 字符串转换整数 (atoi) #自动机
  7. 11. 盛最多水的容器 #双指针
  8. 13. 罗马数字转整数 #模拟
  9. 14 最长公共前缀 #纵向扫描 #横向扫描 #分治 #二分
  10. 15. 三数之和 #排序+双指针
  11. 16. 最接近的三数之和 #动态规划
  12. 17. 电话号码的字母组合 #回溯
  13. 19 删除链表的倒数第 N 个结点 #前后指针 #两次遍历 #栈
  14. 23. 合并K个升序链表 #顺序合并 #分治合并 #优先队列
  15. 24. 两两交换链表中的节点 #迭代 #递归
  16. 25. K 个一组翻转链表 #模拟
  17. 28. 找出字符串中第一个匹配项的下标 #暴力匹配 #Knuth-Morris-Pratt 算法 #Boyer-Moore算法 #Sunday 算法
  18. 32. 最长有效括号 #DP #栈 #原地贪心
  19. 33. 搜索旋转排序数组 #二分查找
  20. 36. 有效的数独 #一次遍历
  21. 37. 解数独 #回溯 #位运算 #枚举
  22. 39. 组合总和 #搜索回溯
  23. 42. 接雨水 #DP #双指针 #栈
  24. 43 字符串相乘 #加法 #乘法 #快速傅里叶变换
  25. 46. 全排列 #回溯
  26. 49. 字母异位词分组 #排序 #计数
  27. 54 螺旋矩阵 #模拟 #按层遍历
  28. 55. 跳跃游戏 #贪心
  29. 56. 合并区间 #排序
  30. 57. 插入区间 #模拟
  31. 61. 旋转链表 #数组 #双指针
  32. 62 不同路径 #DP #数学
  33. 70 爬楼梯 #DP #数学
  34. 74. 搜索二维矩阵 #两次二分 #一次二分
  35. 76. 最小覆盖子串 #滑动窗口
  36. 78. 子集 #迭代 #递归
  37. 79. 单词搜索 #回溯
  38. 84. 柱状图中最大的矩形 #单调栈+常数优化
  39. 90. 子集 II #迭代 #递归
  40. 100. 相同的树 #DFS #BFS
  41. 101. 对称二叉树 #递归 #迭代
  42. 103. 二叉树的锯齿形层序遍历 #BFS
  43. 105. 从前序与中序遍历序列构造二叉树 #递归 #迭代
  44. 108. 将有序数组转换为二叉搜索树 #中序遍历
  45. 110. 平衡二叉树 #递归(自顶向下,自底向上)
  46. 124. 二叉树中的最大路径和 #递归
  47. 127. 单词接龙 #双向BFS搜索
  48. 133. 克隆图 #BFS #DFS
  49. 134. 加油站 #一次遍历
  50. 136. 只出现一次的数字 #异或
  51. 139. 单词拆分 #DP
  52. 146. LRU 缓存 哈希表+双向链表
  53. 148. 排序链表 #自下而上递归 #自下而上递归
  54. 150. 逆波兰表达式求值 #栈 #数组模拟栈
  55. 152. 乘积最大子数组 #DP
  56. 153. 寻找旋转排序数组中的最小值 #二分查找
  57. 155. 最小栈 #辅助栈
  58. 173. 二叉搜索树迭代器 #数组 #迭代
  59. 180. 连续出现的数字 #DISTINCT+WHERE
  60. 181. 超过经理收入的员工 #WHERE #JOIN
  61. 184. 部门工资最高的员工 #JOIN+IN
  62. 191. 位1的个数 #python_bin #java_>>>=_最高位补1 #n&=n-1_消除末位1
  63. 198. 打家劫舍 #DP+滚动数组
  64. 199. 二叉树的右视图 #DFS #BFS
  65. 202 快乐数 #哈希 #快慢指针
  66. 208. 实现 Trie (前缀树) #字典树
  67. 210. 课程表 II #DFS #BFS
  68. 211. 添加与搜索单词 - 数据结构设计 #Trie树
  69. 215. 数组中的第K个最大元素 #堆排序 #快排
  70. 221. 最大正方形 #暴力 #DP
  71. 224. 基本计算器 #括号展开+栈
  72. 226. 翻转二叉树 #递归
  73. 227. 基本计算器 II #栈
  74. 230. 二叉搜索树中第K小的元素 #中序遍历 #记录节点数 #平衡二叉搜索树
  75. 232. 用栈实现队列 #双栈
  76. 234. 回文链表 #数组双指针 #直接双指针 #递归
  77. 239. 滑动窗口最大值 #优先队列
  78. 262. 行程和用户 #子查询
  79. 295. 数据流的中位数 #优先队列
  80. 297. 二叉树的序列化与反序列化 #DFS(序列化、反序列化) #括号表示编码+递归下降解码
  81. 299 猜数字游戏 #模拟
  82. 300. 最长递增子序列 #DP #贪心+二分
  83. 310. 最小高度树 #BFS #DFS #拓扑排序
  84. 322. 零钱兑换 #DP #记忆化搜索
  85. 328. 奇偶链表 #分离节点后合并
  86. 329. 矩阵中的最长递增路径 #记忆化DFS搜索
  87. 380. O(1) 时间插入、删除和获取随机元素 #变长数组+哈希表
  88. 394 字符串解码 #栈 #递归
  89. 416. 分割等和子集 #DP
  90. 417. 太平洋大西洋水流问题 ##DFS #BFS
  91. 437. 路径总和 III #递归 #路径和
  92. 438 找到字符串中所有字母异位词 #滑动窗口 char数组存字母 记录Delta可优化空间
  93. 424 替换后的最长重复字符 #双指针 char数组
  94. 437. 路径总和 III #DFS #前缀和
  95. 460. LFU 缓存 #双哈希表
  96. 509 斐波那契数 #DP #数学
  97. 528. 按权重随机选择 #前缀和+二分查找
  98. 542. 01 矩阵 #DP+常数优化
  99. 543. 二叉树的直径 #DFS
  100. 547. 省份数量 #BFS #DFS #并查集
  101. 550. 游戏玩法分析 IV #IFNULL+ROUND+COUNT
  102. 570. 至少有5名直接下属的经理 #临时表
  103. 580. 统计各专业学生人数 #OUTERJOIN+COUNT
  104. 603. 连续空余座位 #JOIN+ABS
  105. 619. 只出现一次的最大数字 #MAX+HAVING
  106. 621. 任务调度器 #模拟 #构造
  107. 626. 换座位 #CASEWHEN #位操作+COALESCE()
  108. 632. 最小区间 #哈希+DP #贪心+最小堆
  109. 652 寻找重复的子树 #哈希 #三元组
  110. 658. 找到 K 个最接近的元素 #排序 #二分查找+双指针
  111. 662. 二叉树最大宽度 #BFS
  112. 667 优美的排列 #数学
  113. 669. 修剪二叉搜索树 #递归 #迭代
  114. 670. 最大交换 #直接遍历 #贪心
  115. 672. 灯泡开关 Ⅱ #模拟 #数学
  116. 692 前K个高频单词 #哈希 #排序 #优先队列
  117. 698. 划分为k个相等的子集 #状态压缩+记忆化搜索
  118. 721. 账户合并 #哈希表+并查集
  119. 735. 行星碰撞 #栈模拟
  120. 739. 每日温度 #暴力 #单调栈
  121. 746 使用最小花费爬楼梯 #DP #滚动数组
  122. 787. K 站中转内最便宜的航班 #图 #BellmanFord
  123. 793 阶乘函数后K个零 #二分查找 关键:找5因子
  124. 815. 公交路线 #优化建图+DFS #单项BFS
  125. 844 比较含退格的字符串 #栈 #双指针
  126. 850. 矩形面积 II #离散化+扫描线+数组实时维护
  127. 863. 二叉树中所有距离为 K 的结点 #深度优先+哈希表
  128. 875. 爱吃香蕉的珂珂 #二分查找
  129. 915. 分割数组 #一次遍历 #两次遍历
  130. 947. 移除最多的同行或同列石头 #并查集
  131. 981. 基于时间的键值存储 #哈希表+二分
  132. 994. 腐烂的橘子 #多源广度优先搜索
  133. 1045. 买下所有产品的客户 #HAVING
  134. 1046 最后一块石头的重量 #大顶堆 PriorityQueue #模拟
  135. 1112. 每位学生的最高成绩 #开窗函数OVER(PARTITION BY)
  136. 1143. 最长公共子序列 #DP
  137. 1164. 指定日期的产品价格 #LEFTJOIN+IFNULL
  138. 1173. 即时食物配送 I #直接计算 #SUM+CASEWHEN #SUM
  139. 1193. 每月交易 I #DATE_FORMAT()+GROUPBY
  140. 1211. 查询结果的质量和占比 #GROUPBY+ROUND+AVG+SUM+COUNT
  141. 1251. 平均售价 #JOIN
  142. 1264. 页面推荐 #UNIONALL #CASEWHEN
  143. 1280. 学生们参加各科测试的次数 #CROSSJOIN+LEFTJOIN
  144. 1294. 不同国家的天气类型 #分组+统计+判断 日期
  145. 1303. 求团队人数 #LEFTJOIN
  146. 1321. 餐馆营业额变化增长 #窗口函数
  147. 1341. 电影评分 #子查询+UNION
  148. 1398. 购买了产品 A 和产品 B 却没有购买产品 C 的顾客 #HAVING #HAVING+GROUP_CONCAT(DISTINCT)
  149. 1440. 计算布尔表达式的值 #CASEWHEN
  150. 1445. 苹果和桔子 #SUM+IF/CASEWHEN #子查询
  151. 1459. 矩形面积 #自连接
  152. 1470 重新排列数组 #模拟
  153. 1475 商品折扣后的最终价格 #模拟 #单调栈
  154. 1501. 可以放心投资的国家 #UNIONALL+LEFTJOIN (JOIN性能一般)
  155. 1549. 每件商品的最新订单 #子查询
  156. 1571. 仓库经理 #JOIN
  157. 1584. 连接所有点的最小费用 #Kruskal算法
  158. 1598. 文件夹操作日志搜集器 #简单模拟
  159. 1607. 没有卖出的卖家 #NOTIN
  160. 1608. 特殊数组的特征值 #降序排列+一次遍历
  161. 1619. 删除某些元素后的数组均值 #排序
  162. 1624. 两个相同字符之间的最长子字符串 #直接遍历
  163. 1633. 各赛事的用户注册率 #ROUND+ORDER
  164. 1636. 按照频率将数组升序排序 #模拟
  165. 1694. 重新格式化电话号码 #找出所有数字并分块
  166. 1699. 两人之间的通话次数 #UNIONALL
  167. 1706 球会落何处 #模拟
  168. 1731. 每位经理的下属员工数量 #LEFTJOIN+GROUPBY+计算+ORDERBY
  169. 1747. 应该被禁止的 Leetflex 账户 #JOIN
  170. 1783. 大满贯数量 #临时表
  171. 1867. 最大数量高于平均水平的订单 #GROUPBY+开窗
  172. 1988. 找出每所学校的最低分数要求 #LEFTJOIN+IFNULL
  173. 2131. 连接两字母单词得到的最长回文串 #哈希计数+奇偶分析
  174. 2136. 全部开花的最早一天 #贪心
  175. 2244. 完成所有任务需要的最少轮数 #贪心

2 thoughts on “刷题记录

发表回复

您的电子邮箱地址不会被公开。