Skip to the content.

Blogs of Algorithm

Contact me


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出现的次数

把数组排成最小的数

丑数


拼歌单 – 多重背包转01背包

计算动态规划表,转一维空间


图直径

通过BFS遍历图看作树的形式,通过一次遍历找到最深的节点,反向遍历得到最长的节点距离


Non-overlapping Intervals问题

通过有序来统计交叉


Matchsticks to Square问题

DFS解决数组均分问题


Minimum Window Substring问题

使用统计的方法比较无序和不连续的串


Find All Anagrams in a String问题

对于子串的比较可以使用计数的方式,滑动窗每次对改变的元素修改,而不是重新计算


Network Delay Time问题

类似动态规划,有向图,最短时间


Reverse Bits问题

用位运算解,二分法可以优化


Reaching Points

缩小问题


青蛙过河问题

深度优先搜索


Python中使用序列解决不确定循环层数的遍历问题

当循环层数不确定时如何遍历


小行星碰撞

利用栈计算四则运算的思想解决碰撞消除问题


买卖股票的最佳任意次交易(带间隔)

多次交易,但是交易间需要间隔时间


买卖股票的最佳K次交易

借用两次交易的思路,扩展到K次


买卖股票的最佳两次交易

通过四次max来计算买入卖出的最大利润


买卖股票的最佳一次交易

与最长子数组问题类似


找到链表中的环

如何确定链表中环的起点


找到出现多次的数

n+1个1~n中的数,某个数字会多次出现,如何找到


字符串中第一个只出现一次的字符

字符串中第一个只出现一次的字符


动态规划求解不同子串数目

在S串中找匹配T子串的数量,详见内容