• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

LeetCode每日一题刷题总结

开发技术 开发技术 3小时前 3次浏览

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

链表:

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

哈希表:

  • 554. 砖墙(哈希表)

动态规划:

  • 198、213、337:打家劫舍 I;II;III。 经典
  • 50.裴波那契数
  • 62.不同路径
  • 70.爬楼梯
  • 81.丑数II
  • 87.扰乱字符串
  • 121.买卖股票的最佳时机
  • 131.分割回文串
  • 132.分割回文穿II
  • 221.最大正方形
  • 225.不同的子序列
  • 279.完全平方数
  • 338.比特位计数
  • 377. 组合总和 Ⅳ(动态规划)
  • 518. 零钱兑换 II
  • 664. 奇怪的打印机
  • 740. 删除并获得点数-类似打家劫舍 
  • 978.最长湍流子数组
  • 1035. 不相交的线(二维动态规划)
  • 1143.最长公共子序列
  • 1269. 停在原地的方案数
  • 1473. 粉刷房子 III(三维动态规划)
  • 1787. 使所有区间的异或结果为零(动态规划)

区间动态规划:

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

二分查找:

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

数组:

  • 88. 合并两个有序数组
  • 485.最大连续 1 的个数
  • 283.移动零
  • 27.移除元素
  • 692. 前K个高频单词(哈希表 + 排序

队列:

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

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

集合

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

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

滑动窗口、双指针

  • 26.删除有序数组中的重复项
  • 27.移除元素
  • 80.删除有序数组中的重复项II
  • 141.环形链表
  • 160. 相交链表
  • 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.多数元素
  • 53.最大自序和

回溯

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

DFS(深度优先遍历)

  • 78.子集
  • 200.岛屿数量
  • 341.扁平化嵌套列表迭代器
  • 690. 员工的重要性 (DFS 深度优先遍历
  • 938.二叉搜索树的范围和

BFS(广度优先遍历)

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

并查集

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

贪心算法

  • 32.零钱兑换
  • 781. 森林中的兔子(贪心)
  • 1217.玩筹码
  • 55.跳跃游戏

前缀树(Trie)

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

拓扑排序

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

位运算

  • 137. 只出现一次的数字 II
  • 191.位1的个数
  • 213.情侣牵手
  • 231. 2 的幂
  • 342. 4的幂
  • 421. 数组中两个数的最大异或值(前缀树(Trie))
  • 684.冗余连接
  • 810. 黑板异或游戏(博弈论)
  • 1310. 子数组异或查询 (位运算-前缀和)
  • 1442. 形成两个异或相等数组的三元组数目(动态规划)
  • 1486. 数组异或操作 
  • 1720. 解码异或后的数组
  • 1734. 解码异或后的排列

数学、模拟过程:

  • 7. 整数反转
  • 12. 整数转罗马数字
  • 13. 罗马数字转整数
  • 54.螺旋矩阵
  • 59.螺旋矩阵II
  • 80.丑数
  • 461. 汉明距离
  • 477. 汉明距离总和
  • 556.重塑矩阵
  • 561.数组拆分
  • 628.三个数的最大乘积
  • 832.翻转图像
  • 867.转置矩阵
  • 1018.可被5整除的二进制前缀
  • 1232.缀点成线

二叉树

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

前缀和

  • 523. 连续的子数组和
  • 525. 连续数组
  • 1074. 元素和为目标值的子矩阵数量
  • 1738. 找出第 K 大的异或坐标值(二维前缀和 + 排序)
  • 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?(前缀和)

Morris算法

  • 872. 叶子相似的树(二叉树使用了Morris算法

程序员灯塔
转载请注明原文链接:LeetCode每日一题刷题总结
喜欢 (0)