算法刷题总结

双指针

链表【15题】

环形链表 🟢
环形链表 II 🟠
相交链表 🟢
删除链表的倒数第 N 个结点 🟠
合并两个有序链表 🟢
合并K个升序链表 🔴
分隔链表 🟠
链表的中间结点🟢

剑指 Offer 22. 链表中倒数第k个节点 🟢
剑指 Offer 25. 合并两个排序的链表 🟢
剑指 Offer 52. 两个链表的第一个公共节点 🟢
剑指 Offer II 021. 删除链表的倒数第 n 个结点 🟠
剑指 Offer II 022. 链表中环的入口节点 🟠
剑指 Offer II 023. 两个链表的第一个重合节点 🟢
剑指 Offer II 078. 合并排序链表 🔴

数组【9题】

两数之和 II - 输入有序数组 🟠
删除有序数组中的重复项 🟢
移除元素 🟢
移动零 🟢
反转字符串 🟢
最长回文子串 🟠
删除排序链表中的重复元素 🟢

剑指 Offer 57. 和为s的两个数字 🟢
剑指 Offer II 006. 排序数组中两个数字之和 🟢

二叉树纲领篇【4题】

二叉树的最大深度 🟢
二叉树的前序遍历 🟢
二叉树的直径 🟢

剑指 Offer 55 - I. 二叉树的深度 🟢

二叉树思路篇【4题】

二叉树展开为链表 🟠
填充每个节点的下一个右侧节点指针 🟠
翻转二叉树 🟢
剑指 Offer 27. 二叉树的镜像 🟢

二叉树构造篇【暂未解决】

二叉树后序篇【暂未解决】

二叉树序列化篇【暂未解决】

二叉搜索树特性篇【4题】

从二叉搜索树到更大和树 🟠
二叉搜索树中第K小的元素 🟠
把二叉搜索树转换为累加树 🟠
剑指 Offer II 054. 所有大于等于节点的值之和 🟠

二叉搜索树基操篇【4题】

删除二叉搜索树中的节点 🟠
二叉搜索树中的搜索 🟢
二叉搜索树中的插入操作 🟠
验证二叉搜索树 🟠

二叉搜索树构造篇【暂未解决】

快速排序【暂未解决】

数组中的第K个最大元素 🟠
排序数组 🟠
剑指 Offer II 076. 数组中的第 k 大的数字 🟠

动态规划套路【3题】

零钱兑换 🟠
509. 斐波那契数 🟢

剑指 Offer II 103. 最少的硬币数目 🟠

回溯套路【4题】

全排列 🟠
N 皇后 🔴
N皇后 II 🔴
剑指 Offer II 083. 没有重复元素集合的全排列 🟠

回溯中的排列/组合/子集【14题】

组合总和 III 🟠
组合总和 🟠
组合总和 II 🟠
全排列 🟠
全排列 II 🟠
组合 🟠
子集 🟠
子集 II 🟠

剑指 Offer II 079. 所有子集 🟠
剑指 Offer II 080. 含有 k 个元素的组合 🟠
剑指 Offer II 081. 允许重复选择元素的组合 🟠
剑指 Offer II 082. 含有重复元素集合的组合 🟠
剑指 Offer II 083. 没有重复元素集合的全排列 🟠
剑指 Offer II 084. 含有重复元素集合的全排列 🟠

岛屿问题

飞地的数量 🟠
统计封闭岛屿的数目 🟠
统计子岛屿 🟠
岛屿数量 🟠
不同岛屿的数量🔒 🟠
岛屿的最大面积 🟠
剑指 Offer II 105. 岛屿的最大面积 🟠

BFS套路【3题】

二叉树的最小深度 🟢
打开转盘锁 🟠
剑指 Offer II 109. 开密码锁 🟠

图论

图遍历【2题】

所有可能的路径 🟠
剑指 Offer II 110. 所有路径 🟠

二分图判定【3题】

判断二分图 🟠
可能的二分法 🟠
二分图 🟠

环检测【3题】

课程表 🟠
课程表 II 🟠
剑指 Offer II 113. 课程顺序 🟠

并查集【3题】

被围绕的区域 🟠
无向图中连通分量的数目🔒 🟠
等式方程的可满足性 🟠

二分搜索【3题】

在排序数组中查找元素的第一个和最后一个位置 🟠
二分查找 🟢
剑指 Offer 53 - I. 在排序数组中查找数字 I 🟢

滑动窗口【8题】

无重复字符的最长子串 🟠
找到字符串中所有字母异位词 🟠
字符串的排列 🟠
最小覆盖子串 🔴

剑指 Offer 48. 最长不含重复字符的子字符串 🟠
剑指 Offer II 014. 字符串中的变位词 🟠
剑指 Offer II 015. 字符串中的所有变位词 🟠
剑指 Offer II 016. 不含重复字符的最长子字符串 🟠
剑指 Offer II 017. 含有所有字符的最短字符串 🔴

股票买卖【暂未解决】

打家劫舍【5题】

打家劫舍 🟠
打家劫舍 II 🟠
打家劫舍 III 🟠
剑指 Offer II 089. 房屋偷盗 🟠
剑指 Offer II 090. 环形房屋偷盗 🟠

子序列问题【9题】

编辑距离

编辑距离 🔴

最长递增子序列

最长递增子序列 🟠
俄罗斯套娃信封问题 🔴

最大子数组

最大子数组和 🟠
剑指 Offer 42. 连续子数组的最大和 🟢

最长公共子序列

最长公共子序列 🟠
两个字符串的删除操作 🟠
两个字符串的最小ASCII删除和 🟠
剑指 Offer II 095. 最长公共子序列 🟠

背包问题【3题】

子集背包

分割等和子集 🟠
剑指 Offer II 101. 分割等和子集 🟢

完全背包

零钱兑换 II 🟠

动态规划玩游戏【暂未解决】

nSum问题【暂未解决】

前缀和数组【暂未解决】

区域和检索 - 数组不可变 🟢
二维区域和检索 - 矩阵不可变 🟠
剑指 Offer II 013. 二维子矩阵的和 🟠

差分数组【暂未解决】

拼车 🟠
航班预订统计 🟠
区间加法🔒 🟠

二维数组的花式遍历【暂未解决】

反转字符串中的单词 🟠
旋转图像 🟠
螺旋矩阵 🟠
螺旋矩阵 II 🟠
剑指 Offer 29. 顺时针打印矩阵 🟢
剑指 Offer 58 - I. 翻转单词顺序 🟢

滑动窗口算法延伸:Rabin Karp 字符匹配算法【暂未解决】

重复的DNA序列 🟠
找出字符串中第一个匹配项的下标 🟠

带权重的随机选择算法【暂未解决】

按权重随机选择 🟠
剑指 Offer II 071. 按权重生成随机数 🟠

田忌赛马背后的算法决策【暂未解决】

优势洗牌

常数时间删除-查找数组中的任意元素【暂未解决】

O(1) 时间插入、删除和获取随机元素 🟠
黑名单中的随机数 🔴
剑指 Offer II 030. 插入、删除和随机访问都是 O(1) 的容器 🟠

数组去重【暂未解决】

不同字符的最小子序列 🟠
去除重复字母 🟠

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值