当前位置 博文首页 > LJ的博客:石器时代 —— Leetcode刷题日记 (一 百大热题)

    LJ的博客:石器时代 —— Leetcode刷题日记 (一 百大热题)

    作者:[db:作者] 时间:2021-09-04 21:20

    Date: 2019.10.22 ~ (C++ Version)

    文章目录

    • All Labels:
    • `热题100`
      • L1 两数之和
      • L2 两数相加
        • 暴力相加
        • 递归
        • 迭代
      • L3 无重复字符的最长子串
      • L4 找两个升序数组中的中位数
        • `润色理解`
        • 代码
        • 升级版 - 数组划分 - 不熟悉
      • L5 最长回文子串
        • 扩散搜索
        • 动态规划
        • 马拉车算法/Manacher's Algorithm
      • L10 正则表达式匹配
        • 暴力递归
        • 递归 + 备忘录
        • DP
      • L11 盛最多水的容器
        • 双指针
      • L15 三数之和
        • 双指针
      • L17 电话号码的字母组合
        • 回溯
        • 迭代
      • L19 删除链表倒数第N个点
        • 后序遍历 + 标记指针(单指针)
        • 快慢指针
      • L20 合法括号
        • 栈法
      • L21 合并两个有效链表
        • 循环 dummy指针
        • 递归
      • L22 生成括号
        • 递归
        • 其他
      • L23 合并k个排序链表
        • 优先队列
        • 分治法
        • 其他
      • L31 下一个排列
        • In-Plane
        • STL 函数
      • L32 最长有效括号
        • 暴力法
        • Stack
        • DP
        • 双遍历
      • L33 搜索旋转排序数组
        • 二分查找
      • L34 在排序数组中查找元素的第一个和最后一个位置
        • 寻找左右边界
      • L39 组合求和
        • 回溯
        • 迭代
      • L42 接雨水
        • 双指针遍历
        • 单调栈
      • L46 全排列
        • 熟练使用STL库
        • 回溯1
        • 回溯2
        • 递归插入法
        • 迭代法
      • L48 旋转图像
        • 转置+水平反转
        • 循环替换
      • L49 字母异位词分组
      • 散列表 + 排序方法
      • 散列表 + 计数方法
      • L53 最大子序和
        • 暴力
        • DP
        • 滑窗方法
        • Greedy
        • Divide and Conquer Approch
      • L55 跳跃游戏
        • 递归穷举
        • 动态规划
        • 贪婪法
      • L56 合并区间
        • 一次排序插入法
      • L62 不同路径
        • 数学排列组合
        • DP
      • L64 最小路径和
        • 动态规划
        • 一维动态规划方法
      • L70 爬楼梯
        • 动态规划
        • 递归
        • 分治
        • 斐波拉契数列通项公式
      • L72 编辑距离
        • 递归搜索
        • 递归+备忘录
        • 动态规划
      • L75 颜色分类
        • 计数重写法
        • One-pass方法
      • L76 最小覆盖子串
        • 滑动窗
      • L78 子集
        • 迭代方法
        • 递归方法(数归)
        • 回溯
      • L79 单词搜索
        • 回溯
      • L84 柱状图中最大的矩形
        • 穷举方法
        • 滑动窗
        • 单调栈
      • L85 最大矩形
        • 单调栈
        • 动态规划
      • L94 二叉树的中序遍历
        • 中序递归遍历
        • 中序迭代遍历
        • Morris Traversal
      • L96 不同的二叉搜索树
        • Catalan数
      • L98 验证二叉搜索树
        • 递归
        • 中序遍历
        • 栈 - 迭代 - 中序
      • L101 对称二叉树
        • 递归
        • 迭代
      • L102 二叉树的层序遍历
        • 迭代
        • 递归
      • L104 二叉树的最大深度
        • DFS
        • BFS
      • L105 从前序与中序遍历序列构造二叉树
      • L114 二叉树展开为链表
        • 递归 - 先序
        • 递归 - 后序
        • 迭代
        • `W4 前序迭代`
      • L121 买卖股票的最佳时机
      • L124 二叉树中的最大路径和
      • L128 最长连续序列
        • `W1 Hashset`
        • `W2 Hashmap`
      • L136 只出现一次的数字
        • `W0 HashSet`
        • `W1 Bit Operation`
      • L139 单词拆分
        • DFS
        • 记忆数据的递归
        • DP
        • W4 带访问数组BFS搜索
      • L141 环形链表
        • 快慢指针的经典应用
      • L142 环形链表 II
        • `快慢指针`
      • L146 LRU(Least Recently Used)缓存机制
      • L148 排序链表
        • `排序算法 思路整理`
      • L152 乘积最大子数组
        • 动态规划
        • 左右遍历
      • L155 最小栈
        • 双栈法
        • 最小值记录法
      • L160 相交链表
        • 算长度+同时查找
        • 快慢指针
        • 哈希表
        • 看作8字环形链表
      • L169 多数元素
        • Moore Voting
        • Bit Manipulation
        • 排序取中位数
      • L198 打家劫舍
        • DP
        • DP2
        • DP3
        • DP4
      • 200 岛屿数量
        • DFS
        • BFS
      • L206 反转链表
        • 迭代
        • 递归
      • L207 课程表
        • BFS 拓扑排序
        • DFS
      • L208 实现Trie (前缀树)
      • L215 数组中的第K个最大元素
        • 寻找K次
        • 排序后查询 > > >接题148的排序算法介绍
          • STL自带排序算法(快排)
          • STL自带排序的数据结构(二叉搜索树或堆)
          • 交换类排序 冒泡+快排
            • 冒泡排序
            • 快速排序
          • 选择类排序 选排+堆排
            • 选择排序
            • 堆排序
          • 插入类排序 插排+希尔
            • 插入排序
            • 希尔排序
          • 归并类排序
            • 归并排序
          • 分配类排序 计数排+桶排+基数排
            • 计数排序 - 速度快但是占用内存大
            • 桶排序 - 计数排序 的升级版本
            • 基数排序
      • L221 最大正方形
        • 暴力法
        • 累计二维数组法 (前缀数组)
        • 动态规划
      • L226 翻转二叉树
        • 递归法
        • 迭代法
      • L234 回文链表
        • 堆栈保存 + 比较
        • 递归(后序遍历)
        • 快慢指针 + 前后半比较
        • 链表翻转 + 比较
      • L236 二叉树的最近公共祖先
        • 递归搜索
      • L238 除自身以外数组的乘积
      • L239 滑动窗口最大值
        • multiset (平衡二叉树)
        • priority_queue (堆排序)
        • 线性复杂度 双端队列
      • L240 搜索二维矩阵 II
      • L253 会议室 II
        • -1/1标记法
        • 时间冲突
      • 279 完全平方数
        • 数学推论
        • 动态规划
        • 递归
      • L283 移动零
        • 双指针
      • L287 寻找重复数
        • 二分查找法
        • 环检测 (起点检测)
        • Bit manipulation
      • L297 二叉树的序列化与反序列化
        • 先序遍历
        • 层序遍历
      • L300 最长上升子序列
        • 动态规划+搜索
        • 贪婪法
      • L301 删除无效的括号
        • BFS
        • DFS
      • L309 最佳买卖股票时机含冷冻期
        • 121 只能买卖一次: k = 1, dp[i-1][0][0] = 0
        • 122 不限买卖次数: k=k-1, dp[i-1][k-1][0]=dp[i-1][k][0]
        • 123 限制买卖2次: k=2
        • 188 限制买卖k次
        • 309 不限买卖次数 含有**冷冻期**(卖后一天不能买)
        • 714 不限买卖次数 交易需要**手续费**
      • L312 戳气球
        • Dynamic Programing
        • DFS
      • L322 零钱兑换
        • 暴力 TLE
        • DP
        • 递归+记忆数组
        • 优化的暴力搜索方法 效率最高
      • L337 打家劫舍 III
        • 198 一维数组 不能抢劫相邻房子
        • 213 198+头尾相连
        • 337 二叉树 不能相邻
      • L338 比特位计数
      • 分奇偶
      • i&(i-1)
      • L347 前 K 个高频元素
        • 最大堆
        • 桶排序思想
      • L394 字符串解码
        • 迭代
        • 递归
      • L399 除法求值
        • BFS
        • DFS
      • L406 根据身高重建队列
        • 额外数组
        • In-place
      • L416. 分割等和子集
        • DP
        • 位操作
      • L437 路径总和 III
        • 递归方法
        • 用hashmap优化递归代码
        • `W3 双递归`
      • 438 找到字符串中所有字母异位词
      • L448 找到所有数组中消失的数字
        • 相反数
        • 置换比较
        • 累加找小
      • L461 汉明距离
        • 位异或法
        • 右移优化
        • 递归法
      • L494 目标和
        • 动态规划
        • 递归方法
        • 递归加记忆数组
      • L538 把二叉搜索树转换为累加树 (累加树?)
        • 递归法
        • 简化递归
        • 迭代
      • L543 二叉树的直径
        • 递归 加上左右子树深度
        • 优化为一次递归
        • 优化去掉成员变量,减少空间复杂度
      • L560 和为K的子数组
        • `W1 暴力遍历法`
        • `W2 散列表方法`
      • L581 最短无序连续子数组
        • 双界法
        • 排序比较法
      • L617 合并二叉树
      • L621 任务调度器
        • 数学规律-找规律
        • 队列方法
      • L647 任务调度器
        • 动态规划
        • DFS
      • L739 每日温度
        • 暴力for
        • 递减栈 Descending Stack
    cs
    下一篇:没有了