Blogs of Algorithm
leetcode系列
leetcode 6 旋转链表
leetcode 667 优美的排列 II
leetcode 1019 链表中的下一个更大节点
leetcode 1233 删除子文件夹
leetcode 743 网络延迟时间
leetcode 785 判断二分图
leetcode 90 子集 II
leetcode 438 找到字符串中所有字母异位词
leetcode 1286 字母组合迭代器
leetcode 143 重排链表
leetcode 1054 距离相等的条形码
leetcode 199 二叉树的右视图
leetcode 134 加油站
leetcode 1261 在受污染的二叉树中查找元素
leetcode 1023 驼峰式匹配
leetcode 17 电话号码的字母组合
leetcode 946 验证栈序列
leetcode 851 喧闹和富有
leetcode 894 所有可能的满二叉树
leetcode 1053 交换一次的先前排列
leetcode 763 划分字母区间
leetcode 63 不同路径 II
leetcode 72 编辑距离
leetcode 87 扰乱字符串
leetcode 96 不同的二叉搜索树
leetcode 213 打家劫舍 II
leetcode 300 最长上升子序列
leetcode 397 整数替换
leetcode 11 盛最多水的容器
leetcode 477 汉明距离总和
leetcode 3 无重复字符的最长子串
leetcode 10 正则表达式匹配
leetcode 15 三数之和
leetcode 19 删除链表的倒数第N个节点
leetcode 4 寻找两个有序数组的中位数
leetcode 23 合并K个排序链表
leetcode 31 下一个排列
leetcode 32 最长有效括号
leetcode 33 搜索旋转排序数组
leetcode 34 在排序数组中查找元素的第一个和最后一个位置
leetcode 39 组合总和
leetcode 41 缺失的第一个正数
leetcode 46 全排列
leetcode 48 旋转图像
leetcode 53 最大子序和
leetcode 55 跳跃游戏
leetcode 56 合并区间
leetcode 62 不同路径
leetcode 64 最小路径和
leetcode 76 最小覆盖子串
leetcode 78 子集
leetcode 79 单词搜索
leetcode 84 柱状图中最大的矩形
leetcode 85 最大矩形
leetcode 94 二叉树的中序遍历
leetcode 98 验证二叉搜索树
leetcode 101 对称二叉树
leetcode 102 二叉树的层次遍历
leetcode 105 从前序与中序遍历序列构造二叉树
leetcode 114 二叉树展开为链表
leetcode 124 二叉树中的最大路径和
leetcode 128 最长连续序列
leetcode 138 复制带随机指针的链表
leetcode 139 单词拆分
leetcode 141 环形链表
leetcode 146 LRU缓存机制
leetcode 148 排序链表
leetcode 152 乘积最大子序列
leetcode 155 最小栈
leetcode 200 岛屿数量
leetcode 207 课程表
leetcode 208 实现 Trie (前缀树)
leetcode 221 最大正方形
leetcode 234 回文链表
leetcode 236 二叉树的最近公共祖先
leetcode 238 除自身以外数组的乘积
leetcode 239 滑动窗口最大值
leetcode 240 搜索二维矩阵 II
leetcode 279 完全平方数
leetcode 287 寻找重复数
leetcode 295 数据流的中位数
leetcode 297 二叉树的序列化与反序列化
leetcode 322 零钱兑换
leetcode 621 任务调度器
leetcode 560 和为K的子数组
leetcode 301 删除无效的括号
leetcode 309 最佳买卖股票时机含冷冻期
leetcode 312 戳气球
leetcode 337 打家劫舍 III
leetcode 338 比特位计数
leetcode 347 前 K 个高频元素
leetcode 394 字符串解码
leetcode 406 根据身高重建队列
leetcode 437 路径总和 III
leetcode 438 找到字符串中所有字母异位词
leetcode 448 找到所有数组中消失的数字
leetcode 494 目标和
leetcode 543 二叉树的直径
leetcode 581 最短无序连续子数组
leetcode 647 回文子串
leetcode 739 每日温度
leetcode 416 分割等和子集
leetcode 688 “马”在棋盘上的概率
leetcode 540 有序数组中的单一元素
leetcode 73 矩阵置零
leetcode 121 买卖股票的最佳时机
leetcode 678 有效的括号字符串
leetcode 331 验证二叉树的前序序列化
leetcode 1269 停在原地的方案数
leetcode 29 两数相除
leetcode 257 二叉树的所有路径
leetcode 117 填充每个节点的下一个右侧节点指针 II
leetcode 16 最接近的三数之和
leetcode 765 情侣牵手
leetcode 1129 颜色交替的最短路径
leetcode 1071 字符串的最大公因子
leetcode 436 寻找右区间
leetcode 671 二叉树中第二小的节点
leetcode 1192 查找集群内的「关键连接」
leetcode 823 带因子的二叉树
leetcode 980 不同路径 III
leetcode 1017 负二进制转换
leetcode 547 朋友圈
leetcode 22 括号生成
leetcode 449 序列化和反序列化二叉搜索树
leetcode 757 设置交集大小至少为2
leetcode 630 课程表 III
leetcode 680 验证回文字符串 Ⅱ
leetcode 110 平衡二叉树
leetcode 687 最长同值路径
leetcode 932 漂亮数组
leetcode 807 保持城市天际线
leetcode 137 只出现一次的数字 II
leetcode 115 不同的子序列
leetcode 153 寻找旋转排序数组中的最小值
leetcode 154 寻找旋转排序数组中的最小值 II
leetcode 880 索引处的解码字符串
leetcode 89 格雷编码
leetcode 829 连续整数求和
leetcode 1268 搜索推荐系统
leetcode 1162 地图分析
leetcode 377 组合总和 Ⅳ
leetcode 1276 不浪费原料的汉堡制作方案
leetcode 82 删除排序链表中的重复元素 II
leetcode 539 最小时间差
leetcode 858 镜面反射
leetcode 756 金字塔转换矩阵
leetcode 478 在圆内随机生成点
leetcode 1262 可被三整除的最大和
leetcode 400 第N个数字
leetcode 95 不同的二叉搜索树 II
leetcode 1161 最大层内元素和
leetcode 962 最大宽度坡
leetcode 930 和相同的二元子数组
leetcode 1037 有效的回旋镖
leetcode 275 H指数 II
leetcode 781 森林中的兔子
leetcode 310 最小高度树
leetcode 845 数组中的最长山脉
leetcode 812 最大三角形面积
leetcode 328 奇偶链表
leetcode 684 冗余连接
leetcode 685 冗余连接 II
leetcode 130 被围绕的区域
leetcode 399 除法求值
leetcode 48 单词替换
leetcode 212 单词搜索 II
leetcode 329 矩阵中的最长递增路径
leetcode 454 四数相加 II
leetcode 395 至少有K个重复字符的最长子串
leetcode 380 常数时间插入、删除和获取随机元素
leetcode 378 有序矩阵中第K小的元素
leetcode 371 两整数之和
leetcode 334 递增的三元子序列
leetcode 326 3的幂
leetcode 324 摆动排序 II
leetcode 289 生命游戏
leetcode 268 缺失数字
leetcode 237 删除链表中的节点
leetcode 230 二叉搜索树中第K小的元素
leetcode 227 基本计算器 II
leetcode 204 计数质数
leetcode 190 颠倒二进制位
leetcode 189 旋转数组
leetcode 179 最大数
leetcode 172 阶乘后的零
leetcode 166 分数到小数
leetcode 162 寻找峰值
leetcode 150 逆波兰表达式求值
leetcode 131 分割回文串
leetcode 127 单词接龙
leetcode 8 字符串转换整数 (atoi)
leetcode 44 通配符匹配
leetcode 50 pow(x, n)
leetcode 54 螺旋矩阵
leetcode 91 解码方法
leetcode 03 二叉树的锯齿形层次遍历
leetcode 116 填充每个节点的下一个右侧节点指针
leetcode 107 二叉树的层次遍历 II
leetcode 210 课程表 II
leetcode 面试题60 n个骰子的点数
leetcode 面试题59 - I 滑动窗口的最大值
leetcode 面试题59 - II 队列的最大值
leetcode 面试题49 丑数
leetcode 面试题48 最长不含重复字符的子字符串
leetcode 面试题57 II 和为s的连续正数序列
leetcode 面试题45 把数组排成最小的数
leetcode 面试题56-I 数组中数字出现的次数
leetcode 面试题44 数字序列中某一位的数字
leetcode 面试题43 1~n整数中1出现的次数
leetcode 面试题38 字符串的排列
leetcode 面试题26 树的子结构
leetcode 354 俄罗斯套娃信封问题
leetcode 面试题04.01 节点间通路
leetcode 面试题05.02 二进制数转字符串
leetcode 面试题08.11 硬币
leetcode 面试题17.13 恢复空格
leetcode 面试题17.17 多次搜索
leetcode 面试题04.06 后继者
leetcode 面试题04.12 求和路径
leetcode 面试题04.05 合法化二叉搜索树
leetcode 17.05 字母和数字
leetcode 17.18 最短超串
leetcode 04.09 二叉搜索树序列
leetcode 08.06 汉诺塔问题
leetcode 86 字典序排数
leetcode 216 组合总和 III
leetcode 1104 二叉树寻路
leetcode 979 在二叉树中分配硬币
leetcode 1026 节点与其祖先之间的最大差值
leetcode 983 最低票价
leetcode 1332 删除回文子序列
leetcode 986 区间列表的交集
leetcode 面试题46 把数字翻译成字符串
牛客 牛牛的背包问题
牛客 鸡鸭分类问题
牛客 矩形重叠
牛客 爱吃喵粮的小招喵
牛客 推倒吧骨牌
牛客 扔鸡蛋
leetcode 1312 让字符串成为回文串的最少插入次数
leetcode 516 最长回文子序列
leetcode 40 组合总和 II
leetcode 39 组合总和
leetcode 25 K 个一组翻转链表
leetcode 1339 分裂二叉树的最大乘积
leetcode 132 分割回文串 II
leetcode 376 摆动序列
leetcode 650 只有两个键的键盘
leetcode 1028 从先序遍历还原二叉树
leetcode 57 插入区间
leetcode 1377 T 秒后青蛙的位置
leetcode 802 找到最终的安全状态
leetcode 1282 用户分组
leetcode 375 猜数字大小 II
leetcode 777 在LR字符串中交换相邻字符
leetcode 955 删列造序 II
leetcode 403 青蛙过河
leetcode 1139 最大的以 1 为边界的正方形
leetcode 450 删除二叉搜索树中的节点
leetcode 229 求众数 II
leetcode 878 第 N 个神奇数字
leetcode 357 计算各个位数不同的数字个数
leetcode 318 最大单词长度乘积
leetcode 672 灯泡开关 Ⅱ
leetcode 926 将字符串翻转到单调递增
leetcode 486 预测赢家
leetcode 854 相似度为 K 的字符串
leetcode 1140 石子游戏 II
leetcode 838 推多米诺
leetcode 984 不含 AAA 或 BBB 的字符串
leetcode 567 字符串的排列
leetcode 93 复原IP地址
leetcode 215 数组中的第K个最大元素
leetcode 142 环形链表 II
leetcode 122 买卖股票的最佳时机 II
leetcode 69 x 的平方根
leetcode 1 两数之和
Kick Start 2020 Round C 1 Countdown
leetcode 5 最长回文子串
leetcode 26 删除排序数组中的重复项
leetcode 16.18 模式匹配
leetcode 42 接雨水
leetcode 17.19 消失的两个数字
leetcode 260 只出现一次的数字 III
leetcode 343 整数拆分
剑指Offer系列
二维数组中的查找
替换空格
从尾到头打印链表
重建二叉树
用栈实现队列
旋转数组的最小数字
斐波那契数列、跳台阶、矩形覆盖
变态跳台阶
二进制中1的个数
数值的整数次方
调整数组顺序使奇数位于偶数前面
链表中倒数第k个结点
反转链表
合并两个排序的链表
树的子结构
二叉树的镜像
顺时针打印矩阵
包含min函数的栈
栈的压入、弹出序列
从上往下打印二叉树
二叉搜索树的后序遍历序列
二叉树中和为某一值的路径
数组中出现次数超过一半的数字
最小的K个数
连续子数组的最大和
从1到n整数中1出现的次数
把数组排成最小的数
丑数
计算动态规划表,转一维空间
通过BFS遍历图看作树的形式,通过一次遍历找到最深的节点,反向遍历得到最长的节点距离
通过有序来统计交叉
DFS解决数组均分问题
使用统计的方法比较无序和不连续的串
对于子串的比较可以使用计数的方式,滑动窗每次对改变的元素修改,而不是重新计算
类似动态规划,有向图,最短时间
用位运算解,二分法可以优化
缩小问题
深度优先搜索
当循环层数不确定时如何遍历
利用栈计算四则运算的思想解决碰撞消除问题
多次交易,但是交易间需要间隔时间
借用两次交易的思路,扩展到K次
通过四次max来计算买入卖出的最大利润
与最长子数组问题类似
如何确定链表中环的起点
n+1个1~n中的数,某个数字会多次出现,如何找到
字符串中第一个只出现一次的字符
在S串中找匹配T子串的数量,详见内容