LeetCode每日一题刷题总结


知乎上看到有人在力扣上刷每日一题,并做了总结。受此启发,将自己已经刷过的算法做了汇总。

图:

  • (深度、广度、动态规划)

链表:

  • 61:旋转链表,剑指offer22:链表中倒数第k个节点
  • 82.删除链表中的重复元素II
  • 92.翻转链表II

枚举:

哈希表:

  • (扫描线法)

动态规划:

  • 198、213、337:打家劫舍 I;II;III。 经典
  • 50.裴波那契数
  • 62.不同路径
  • 70.爬楼梯
  • 81.丑数II
  • 87.扰乱字符串
  • 121.买卖股票的最佳时机
  • 131.分割回文串
  • 132.分割回文穿II
  • 221.最大正方形
  • 225.不同的子序列
  • 338.比特位计数
  • -类似打家劫舍 
  • 978.最长湍流子数组

区间动态规划:

  • 87.扰乱字符串
  • 5.最长回文串
  • 616.最长回文子序列
  • 312.戳气球
  • 1246.删除回文子数组(important)

二分查找:

  • 29.两数相除
  • 35.搜索插入位置
  • 74.搜索二维矩阵
  • 81.搜索旋转排序数组II,
  • 162.寻找峰值
  • 354.俄罗斯套娃信封问题
  • 410.分割数组的最大值
  • 704.二分查找
  • 875.爱吃香蕉的珂珂
  • 1011.在D天内送达包裹的能力
  • 1231.分享巧克力
  • 1482.制作m束花所需的最少天数
  •  

数组:

  • 27.移除元素
  • 283.移动零
  • 485.最大连续 1 的个数
  • (差分数组)

队列:

  • 933.最近的请求次数
  • 22.用队列实现栈
  • 622.设计循环队列
  • 641.设计循环双端队列

  • 496.下一个更大的元素
  • 150.逆波兰表达式求值
  • 232.用栈实现队列
  • 217.存在重复元素
  • 224.基本计算器
  • 227.基本计算器II
  • 389.找不同
  • 496.下一个更大的元素
  • 503.下一个更大元素II
  • 1047.删除字符串中的所有相邻重复项

集合

  • 217.存在重复元素
  • 705.设计哈希集合

  • 215.数组中的第K个最大元素
  • 692.前k个高频单词

滑动窗口、双指针

  • 26.删除有序数组中的重复项
  • 27.移除元素
  • 80.删除有序数组中的重复项II
  • 209.长度最小的子数组
  • 220.存在重复元素III
  • 344.反转字符串
  • 424.替换后的最长重复字符
  • 480.滑动窗口中位数
  • 485.最大连续1的个数
  • 567.字符串的排列
  • 643.子数组的最大平均数I
  • 992.K个不同整数的子数组
  • 995.K连续位的最小翻转次数
  • 1004.最大连续1的个数III
  • 1052.爱生气的书店老板
  • 1208.尽可能使字符串相等
  • 1423.可获得的最大点数
  • 1438.绝对差不超过限制的最长连续子数组
  • 1456.定长子串中元音的最大数目

递归

  • 20.翻转链表
  • 50.裴波那契数
  • 34.反转字符串
  • 68.最长同值路径
  • 87.扰乱字符串
  • 395.至少有K个重复字符的最长字符

分治算法

  • 16.多数元素

回溯

  • 22.括号生成
  • 39.组合总和(最经典)
  • 78.子集
  • 77.组合
  • 46.全排列
  • 40.牌
  • 403.青蛙过河

DFS(深度优先遍历)

  • 78.子集
  • 200.岛屿数量
  • 341.扁平化嵌套列表迭代器
  • 938.二叉搜索树的范围和

BFS(广度优先遍历)

  • 107.二叉树的层序遍历II
  • 200.岛屿数量
  • 1203.项目管理

并查集

  • 54.省份数量
  • 72.账户合并
  • 181.由斜杠划分区域
  • 200.岛屿数量
  • 778.水位上升的泳池中游泳
  • 803.打砖块
  • 839.相似字符串组
  • 947.移除最多的同行或同列石头
  • 1319.连通网络的操作次数
  • 1579.保证图可完全遍历
  • 1631.最小体力消耗路径

贪心算法

  • 32.零钱兑换
  • 1217.玩筹码
  • 55.跳跃游戏

前缀树(Trie)

  • 208.实现Trie
  • 303.区域和检索-数组不可变
  • 720.词典中最长的单词
  • 363.矩形区域不超过K的最大数值和

拓扑排序

  • 207.课程表
  • 102.课程表II

位运算

  • 191.位1的个数
  • 213.情侣牵手
  • 421. 数组中两个数的最大异或值(前缀树(Trie))
  • 684.冗余连接
  • (动态规划)
  •  

数学、模拟过程:

  • 54.螺旋矩阵
  • 59.螺旋矩阵II
  • 80.丑数
  • 556.重塑矩阵
  • 561.数组拆分
  • 628.三个数的最大乘积
  • 832.翻转图像
  • 867.转置矩阵
  • 1018.可被5整除的二进制前缀
  • 1232.缀点成线

二叉树

  • 173.二叉搜索树迭代器
  • 331.验证二叉树的前序序列化
  • 783.二叉搜索树节点最小距离
  • 1603.设计停车系统

前缀和

KMP算法