master公式的使用
T(N) = a*T(N/b) + O(N^d)
- log(b,a) > d ->复杂度为O(N^log(b,a))
- log(b,a) = d ->复杂度为O(N^d*logN)
- log(b,a) < d ->复杂度为O(N^d)
LeetCode
数组操作
- LeetCode54 螺旋矩阵
LeetCode75 ~~[颜色分类~~](https://leetcode-cn.com/problems/sort-colors/)- LeetCode73 矩阵置零
- LeetCode76 最小覆盖子串
- LeetCode384 打乱数组
- LeetCode581 最短无序连续子数组
LeetCode945 使数组唯一的最小增量
链表操作
LeetCode19 删除链表的倒数第N个节点
- LeetCode25 k个一组翻转链表
- LeetCode61 旋转链表
- LeetCode138 复制带随机指针的链表
- LeetCode206 反转链表
- LeetCode141 环形链表
- LeetCode142 环形链表Ⅱ
- LeetCode160 相交链表
LeetCode707 设计链表
栈
LeetCode20 有效的括号
- LeetCode32 最长有效括号
- LeetCode155 最小栈
- LeetCode224 基本计算器
- LeetCode232 用栈实现队列
LeetCode316 去除重复字母
堆
LeetCode215 数组中的第K个最大元素
LeetCode347 前K个高频元素
树的遍历
LeetCode94 二叉树的中序遍历
- LeetCode102 二叉树的层次遍历
- LeetCode110 平衡二叉树
- LeetCode144 二叉树的前序遍历
LeetCode145 二叉树的后序遍历
二叉搜索树相
LeetCode98 验证二叉搜索树
- LeetCode450 删除二叉搜索树中的节点
LeetCode701 二叉搜索树中的插入操作
递归
LeetCode21 合并两个有序链表
- LeetCode101 对称二叉树
- LeetCode104 二叉树的最大深度
- LeetCode226 翻转二叉树
LeetCode236 二叉树的最近公共祖先
双指针/滑动窗口
LeetCode3 ~~[无重复字符的最长子串~~](https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/)- LeetCode11 盛最多水的容器
- LeetCode15 三数之和
- LeetCode16 最接近的三数之和
- LeetCode26 删除排序数组中的重复项
- LeetCode42 接雨水
- LeetCode121 买卖股票的最佳时机
LeetCode209 长度最小的子数组
快慢指针遍历
LeetCode141 环形链表
- LeetCode202 快乐数
LeetCode876 链表的中间结点
动态规划
LeetCode5 最长回文子串
- LeetCode53 最大子序和
- LeetCode62 不同路径
- LeetCode64 最小路径和
- LeetCode70 爬楼梯
- LeetCode118 杨辉三角
- LeetCode300 最长上升子序列
LeetCode1143 最长公共子序列
回溯法
LeetCode10 正则表达式匹配
- LeetCode22 括号生成
- LeetCode40 组合总和2
LeetCode46 全排列
贪心算法
LeetCode 11. 盛最多水的容器
- LeetCode 406. 根据身高重建队列
- LeetCode 55. 跳跃游戏
- LeetCode 122. 买卖股票的最佳时机 II
- LeetCode 309. 最佳买卖股票时机含冷冻期
LeetCode 714. 买卖股票的最佳时机含手续费
并查集
LeetCode200 岛屿的个数
LeetCode547 省份数量
位运算
LeetCode52 N皇后Ⅱ
- LeetCode338 比特位计数
- LeetCode191 位1的个数
- LeetCode231 2 的幂