算法
算法好难吖...😞😫😭
复杂度
算法的时间复杂度是一个函数,通常用大 O 表示,定性描述该算法的运行时间,一般忽略首项系数和低阶项。
算法的空间复杂度描述该算法执行需要的内存空间。
但是现在存储价格实在是太便宜啦...所以一般只考虑时间复杂度 (用空间换时间)...
- 冒泡排序
- 快速排序
- 原地快排
- 二分优化 leftpad
- 1-两数之和
- 15-三数之和
- 17-电话号码的字母组合
- 19-删除链表的倒数第 N 个结点
- 21-合并两个有序链表
- 20-有效的括号
- 26-删除有序数组中的重复项
- 27-移除元素
- 37-解数独
- 39-组合总和
- 45-跳跃游戏 II
- 46-全排列
- 47-全排列 II
- 51-N 皇后
- 55-跳跃游戏
- 69- x 的平方根
- 71-简化括号
- 77-组合
- 78-子集
- 79-单词搜索
- 92-反转链表 II
- 93-复原 IP 地址
- 94-二叉树的中序遍历
- 98-验证二叉搜索树
- 99-恢复二叉搜索树
- 100-相同的数
- 101-对称二叉树
- 102-二叉树的层序遍历
- 104-二叉树的最大深度
- 107-二叉树的层序遍历 II
- 108-将有序数组转换为二叉搜索树
- 109-有序链表转换二叉搜索树
- 110-平衡二叉树
- 111-二叉树的最小深度
- 112-路径总和
- 114-二叉树展开为链表
- 116-填充每个节点的下一个右侧节点指针
- 117-填充每个节点的下一个右侧节点指针 II
- 125-验证回文串
- 131-分割回文串
- 136-只出现一次的数字
- 141-环形链表
- 142-环形链表 II
- 144-二叉树的前序遍历
- 145-二叉树的后序遍历
- 146-LRU 缓存
- 150-逆波兰表达式求值
- 151-颠倒字符串中的单词
- 153-寻找旋转排序数组中的最小值
- 160-相交链表
- 167-两数之和 II - 输入有序数组
- 199-二叉树的右视图
- 203-移除链表元素
- 206-反转链表
- 209-长度最小的子数组
- 222-完全二叉树的节点个数
- 225-用队列实现栈
- 226-翻转二叉树
- 230-二叉搜索树中第 K 小的元素
- 231- 2 的幂
- 232-用栈实现队列
- 234-回文链表
- 236-二叉树的最近公共祖先
- 257-二叉树的所有路径
- 283-移动零
- 300-最长递增子序列
- 322-零钱兑换
- 344-反转字符串
- 404-左叶子之和
- 429-N 叉树的层序遍历
- 435-无重叠区间
- 452-用最少数量的箭引爆气球
- 455-分发饼干
- 509-斐波那切数
- 515-在每个树行中找最大值
- 543-二叉树的直径
- 572-另一棵树的子树
- 617-合并二叉树
- 637-二叉树的层平均值
- 654-最大二叉树
- 700-二叉搜索树中的搜索
- 701-二叉搜索树中的插入操作
- 704-二分查找
- 860-柠檬水找零
- 876-链表的中间结点
- 977-有序数组的平方
- 1047-删除字符串中的所有相邻重复项
Ayingotts's notes