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