记录在leetcode上刷题的点点滴滴
对于经典算法必须详细地记录算法步骤
总题量:654
- 顺时针打印矩阵
- 螺旋矩阵II
- 螺旋矩阵I
- 旋转图像
- 矩阵置0
- 搜索二维矩阵
- 被围绕的区域
- 检查一个矩阵是否为X矩阵
- 搜索二维矩阵
- 最大的以1为边界的正方形
- 矩阵中的局部最大值
- 二进制矩阵中的最短路径
- 查询后矩阵中的和
- 相等行列队
- 重构2行二进制矩阵
- 矩形内船只的数目
- 矩阵中的和
- 图像重叠
- 比较含退格的字符串
- 最小覆盖子串
- 有效的字母异位词
- 赎金信
- 反转字符串
- 反转字符串II
- 替换空格
- 反转字符串中的单词
- 左旋转字符串
- 找出字符串中第一个匹配项的下标
- 重复的子字符串
- 最长的回文子串
- z字形变换
- 字符串到整数的转换
- 回文数
- 所有子串的美丽值
- 判断句子是否为全字母句
- 整数转罗马数字
- 罗马转整数
- 最长公共前缀
- 字符串转换后的各位数字之和
- 串联字符串中的子串
- 最长有效括号
- 外观数列
- 字符串相乘
- 字母异位词分组
- 执行操作后的变量值
- 构造字典序最大的合并字符串
- 最后一个单词的长度
- 统计同构子字符串的数目
- 有效数字
- 旋转字符串的最少操作次数
- 二进制求和
- 删除字符串两端相同字符后的最短长度
- 文本左右对齐
- 简化路径
- 检查句子中的数字是否递增
- 统计包含前缀给定的字符串
- 替换字符串中的括号内容
- 扰乱字符串
- 重排字符形成目标字符串
- 句子的相似性III
- 交错字符串
- 强密码检验器II
- 验证回文串
- 具有给定数值的最小字符串
- 兼具大小写的最好英文字母
- 用read4读取N个字符
- 用read4读取N个字符II
- 至多包含两个不同字符的最长子串
- 相隔为1的编辑距离
- 比较版本号
- 统计星号
- 分数到小数
- 解密消息
- 反转字符串的单词II
- 替换子串得到平衡字符串
- 字符串解码
- 二进制数转字符串
- 使字符串平衡的最少删除次数
- 找到字符串中所有字母异位词
- 花括号展开
- 执行操作后字典序最小的字符串
- 统计只差一个字符的子串数目
- 最短公共超序列 review[1]
- 隐藏个人信息
- 段式回文
- 驼峰式匹配
- 按字典序排在最后的子串
- 最长字符串链
- 按列翻转得到最大值等行数
- 单字符重复子串的最大长度
- 最小化字符串长度
- 比较字符串最小字母出现频次
- 找到最长的半重复子字符串
- 执行子串操作后字典序最小字符串
- 子串能表示从1到N数字的二进制串
- 元音拼写检查器
- 二进制字符串前缀一致的次数
- 构建回文串检测
- 回环句
- 最长合法子字符串的长度
- 将字符串中的元音字母排序
- 循环增长使字符串子序列等于另一个字符串
- 判断通过操作能否让字符串相等II
- 统计一个字符串k子序列美丽值最大值
- 子字符串异或查询
- 二分查找
- 搜索插入位置
- 在排序数组中查找元素的第一个和最后一个位置
- 数组中重复的元素
- x的平方根
- 有效的完全平方数
- 移除元素
- 移除相同的元素
- 移动零
- 有序数组的平方
- 长度最小的子数组
- 水果成篮
- 两个数组的交集
- 两数之和
- 四数相加
- 三数之和
review❗ - 四数之和
- 寻找两个正序数组的中位数 ❗
- 最少的操作数使数组递增
- 删除每行中的最大值
- 盛最多水的容器
review❗ - 最接近的三数之和
- 通过连接另一个数组的子数组得到一个数组
- 得到连续k个1的最少移动次数
- 搜索旋转排序数组
- 袋子里最少数目的球
- 缺失的第一个正数
- 插入区间
- 加一
- 至少在两个数组中出现的值
- 颜色分类
- 有界数组中指定下标处的最大值
- 将x减到0的最小操作数
- 删除有序数组的重复项II
- 搜索旋转排序数组II
- 判断一个数的数字计数是否等于数位的值
- 合并两个有序数组
- 统计一个数组中好对子的数目
- 计算应缴税款总额
- 统计一个圆中点的数目
- 只出现一次的数字
- 只出现一次的数字II
- 寻找排序数组中的最小值
- 寻找排序数组中的最小值II
- 寻找峰值
- 缺失的区间
- 寻找平衡数组的方案数
- 两数之和II
- 除自身以外数组的乘积
- 会议室II
- 表现良好的最长时间段
- 数组能形成多少数对
- 使数组中所有元素都等于零
- 递减元素使数组呈锯齿状
- 寻找重复数
- 找到数字中消失的数字
- 和为k的子数组
- 最短无序连续子数组
- 得到连续k个黑色块的最少涂色次数
- 统计中位数为K的子数组
- 等差子数组
- 和有限最长子序列
- 分割两个字符串得到回文串
- 两点之间不包含任何点的最宽垂直区域
- 算术三元组的数目
- 交换一次的先前排列
- 温度转换
- 删除最短子数组使剩余子数组有序
- 检查相同字母间的距离
- 不邻接植花
- 两个非重叠子数组的最大和
- 判断两个事件是否存在冲突
- 礼盒的最大甜蜜度
- 统计范围内的元音字符串数
- 半有序排列
- 不同的平均值数目
- 对数组执行操作
- 老鼠和奶酪
- 翻转子数组得到的最大数组值
- 数组中不等三元组的数目
- 数组中字符串的最大值
- 找出中枢整数
- 统计没有收到请求的服务器数目
- 将数组划分成若干好数组的方式
- 统计包含每个点的矩形数目
- 最长奇偶子数组
- 不间断子数组
- 所有子数组中不平衡数字之和
- 三等分
- 两数之和II-输入有序数组
- 漂亮数组
- 数组的均值分割
- 数组的最大美丽值
- 包含每个查询的最小区间
- 描述绘画结果
- 最长交替子序列
- 使数组中所有元素都等于零
- 找出最长等值子数组
- 限制条件下元素之间的最小绝对差
- 操作使分数最大
- 英雄的力量
- 使循环数组所有元素相等的最少秒数
- 最多可以摧毁的敌人城堡数目
- 修车的最少时间
- 统计趣味子数组的数目
- 最小化数组中的最大值
- 最大得分
- 删除数对后的最小数组长度
- 统计距离为k的点对
- 最大合金数
- 同积元组
- 完全子集的最大元素和
- 将数组分割成最多数目的子数组
- 无限数组的最短子数组
- 对数组执行操作使平方和最大
- 每种字符至少取k个
- 找出数组中的k-or值
- 删除一次得到子数组的最大和
- 使数组等于目标数组的最少操作次数
- 检查边长度限制的路径是否存在
- 寻找图中是否存在路径
- 破解保险箱
- 克隆图
- 矩阵转换后的秩
- 颜色调整的最短路径
- 课程表
- 除法求值
- 统计子树中城市之间的最大距离
- 最大网络秩
- T秒后青蛙的位置
- 修改图中的边权
- 情侣牵手
- 尽量减少恶意软件的传播II
- 树中距离之和
- 到家的最少跳跃次数
- 一个图中连通三元组的最小数目
- 找出最安全路径
- 边权重均等查询
- 课程表IV
- 公交路线
- 找到最终的安全状态
- 收集树中的金币
- 统计树中的合法路径数目
- 可以被k整除的连通块的最大数目
- 有向图访问计数
- 账户合并
- 访问消失节点的最小时间
- 关闭分布的可行集合数目
- 引爆最多的炸弹
- 快乐数
- 整数反转
- 构成特定和需要添加的最少元素
- 两数相除
- 下一个排列
- 有效数独
- 幂函数
- 放置盒子
- 排列序列
- 统计异或值在范围内的数对有多少
- 还原排列的最少操作数
- 积压订单中的订单总数
- 第一个出现两次的字母
- 序列中不同最大公约数的数目
- 极大极小游戏
- 杨辉三角
- 杨辉三角II
- Excel表列名称
- 多数元素
- Excel表列序号
- 阶乘后的零
- 最大数
- 水壶问题
- 检查好数组
- 最好的手牌
- 循环码排列
- 找出给定方程的正整数解
- 汉明距离
- 任务调度器
- 使数组和能被p整除
- 经营摩天轮的最大利润
- 困于环中的机器人
- 移动石子直到连续II
- 公因子的数目
- 负二进制转换
- 子数组中占绝大多数的元素
- 统计共同度过的日子数
- 最小偶倍数
- 可被3整除的偶数的平均值
- 大样本统计
- 差值数组不同的字符串
- 负二进制数相加
- 移动机器人
- 可被k整除的最小整数
- 位1的个数
- 圆和矩形重叠的区域
- 总行驶距离
- 得到整数零需要执行的最少操作次数
- 和等于目标值的质数对
- K件物品的最大和
- 最小面积矩形II
- 基于陈述统计最多好人数
- 数组元素最小的非零乘积
- 黑格子的数目
- 找出最大的可达数字
- 不可能得到的最短骰子序列
- 最小分割和
- 只出现一次的数字III
- 满足三条件之一需改变的最少字符数
- 字符串转化
- 切割后面积最大的蛋糕
- 数组的最小相等和
- 最大化数组末位元素的最少操作次数
- 最大化网格图中正方形空洞的面积
- 字符串援引游戏
- 过桥时间
- 交替数字和
- 特殊元素平方和
- 字符串相加
- 使用服务器处理任务
- 模拟行走机器人
- 重新放置石块
- 按分隔符拆分字符串
- 长度递增组的最大数目
- 检查好数组
- 将数组和减半的最少操作
- 宝石与石头
- 距离原点最远的点
- 找出美丽数组的最小和
- 删除注释
- 包含min函数的栈
- 栈的压入、弹出序列
- 用栈实现队列
- 用队列实现栈
- 有效的括号位
- 删除字符串中重复的字符
- 逆波兰表达式
- 求长度为k的滑动窗口的最大值
- 前k个高频元素
- 每日温度
- 下一个最大元素I
- 下一个最大元素II
- 接雨水
- 柱状图中的最大矩形
- 最大矩形
- 最小栈
- 最大正方形
- 最大平均通过率
- 餐盘栈
- 查找和最小的k对数字
- 有序矩阵中第k个最小数组和
- 距离相等的条形码
- 单线程cpu
- 最大和查询
- 机器人碰撞
- 找出最具竞争力的子序列
- 子数组的最小值之和
- 避免洪水泛滥
- 满足不等式的最大值
- 可以到达的最远建筑
- 美丽塔II
- 找到Alice和Bob可以相遇的建筑
- 树的子结构
- 前序遍历
- 后序遍历
- 中序遍历
- 层序遍历
- 从根节点到叶节点的路径之和
- 层序遍历II
- 二叉树的右视图
- 层序遍历的平均值
- N叉树的层序遍历
- 二叉树的每层的最大值
- 填充二叉树最右侧节点的值
- 填充二叉树最右侧节点的值II
- 二叉树的最大深度
- 二叉树的最小深度
- 翻转二叉树
- 对称二叉树
- 完全二叉树的节点个数
- 平衡二叉树
- 二叉树的所有路径
- 相同的树
- 另一棵树的子树
- 左子叶之和
- 找最底层最左边的节点的值
- 路径总和
- 从中序遍历和后序遍历构建二叉树
- 从中序遍历和前序遍历构建二叉树
- 最大树
- 合并二叉树
- 二叉树中的搜索
- 验证二叉搜索树
- 二叉搜索树的最小绝对差
- 找到二叉搜索树的众数
- 二叉树最近公共祖先
- 二叉搜索树中的节点插入
- 二叉搜索树的节点删除
- 修剪二叉树
- 将有序数组转换为二叉搜索树
- 将二叉搜索树转换为累加树
- 不同的二叉搜索树II
- 恢复二叉搜索树
- 有序链表转换成二叉搜索树
- 路径综合II
- 二叉树展开为链表
- 二叉树中的最大路径和
- 求根节点到叶节点数字之和
- 上下翻转二叉树
- 二叉搜索树迭代器
- 二叉树着色游戏
- 计算布尔二叉树的值
- 二叉树的序列化与反序列化
- 路径总和III
- 二叉树的直径
- 节点与其祖先之间的最大差值
- 删点成林
- 叶值的最小代价生成树
- 根到叶路径上的不足节点
- 二叉搜素子树的最大键值和
- 树节点的第k个祖先
- 从先序遍历还原二叉树
- 从二叉树一个节点到另一个节点的每一步
- 在二叉树中分配硬币
- 树中可以形成回文的路径数
- 在传球游戏中最大化函数值
- 带因子的二叉树
- 序列化和反序列化二叉搜索树
- 最深叶节点的最近公共祖先
- 查询树中环的长度
- 二叉搜索树的最近公共祖先
- 使二叉树所有路径值相等的最小代价
- 在树上执行操作以后得到的最大分数
- 移除链表元素
- 设计链表
- 反转链表
- 两两交换链表中的数
- 删除链表中倒数第N个结点
- 获取两个链表的相交结点
- 环形链表
- 合并两个升序链表
- 合并k个升序链表
- K个一组翻转链表
- 旋转链表
- 删除排序链表中的重复元素II
- 删除排序链表中的重复元素
- 分隔链表
- 反转链表II
- 复制带随机指针的链表
- 环形链表I
- 重排链表
- 排序链表
- 合并两个链表
- 回文链表
- 链表中下一个更大节点
- 从链表中删去总和值为0的连续节点
- 两数相加II
- 翻倍以链表形式表示的数字
- 计算MK平均值
- 查找用户活跃分钟数
- 单词接龙
- 最长连续序列
- 直线上最多的点数
- 两数之和III
- 警告一个小时内使用相同员工卡大于等于三次的人
- 合并相似的物品
- 保证文件名唯一
- 和相等的子数组
- 出现最频繁的偶数元素
- 大餐计数
- 判断一个数是否迷人
- 既不是最小值也不是最大值
- 数组中两个数的最大异或值
- 实现前缀树
- 删除子文件夹
- 字符流 review[1]
- 找到矩阵中的好子集
- 找出强数对的最大异或值II
- 最大子数组之和
- 斐波那契数列
- 爬楼梯
- 使用最小花费爬楼梯
- 不同路径
- 不同路径II
- 整数拆分
- 不同的二叉搜索树
- 分割等和子集
- 最后一块石头的重量II
- 目标和
- 一和零
- 零钱兑换II
- 组合总和IV
- 零钱兑换
- 完全平方数
- 单词拆分
- 打家劫舍
- 打家劫舍II
- 打家劫舍III
- 股票买卖的最佳时机
- 股票买卖的最佳时机III
- 股票买卖的最佳时机IV
- 最佳买卖股票时机含冷冻期
- 最长递增子序列
- 最长连续递增子序列
- 最长公共子数组
- 最长公共子序列
- 不相交的线
- 判断子序列
- 不同的子序列
- 两个字符串的删除操作
- 编辑距离
- 回文子串
- 最长回文子序列
- 堆叠长方体的最大高度
- 正则表达式的匹配
- 通配符匹配
- N次操作的得分最大和
- 最小路径和
- 解码方法
- 三角形最小路径和
- 最少侧跳次数
- 得到新鲜甜甜圈的最多组数
- 分割字符串II
- 乘积最大子数组
- 地下城与勇士
- 穿过迷宫的最少移动次数
- 能够覆盖花园的最少的水龙头的数目
- 比特位计数
- 礼物的最大价值
- 无矛盾的最佳球队
- 统计字典元音字符串的数目
- 至少有1位重复的数字
- 多边形三角部分的最低得分
- 最小的必要团队
- 合并石头
- 分隔数组以得到最大和
- 使数组严格递增
- 最长等差数列
- 填充书架
- 工作计划的最低难度
- 删除一次得到子数组最大和
- 收集巧克力
- 并行课程II
- 最大化网格幸福感
- 特别的排列
- 给墙壁刷油漆
- 最小不兼容性
- 字符串连接删减字母
- 大礼包
- 完成任务的最少工作时间段
- 最大为N的数字组合
- 不同的子序列II
- 最大子序列交替和
- 下降路径最小和
- 分割回文串III
- 网格中的最短路径
- 将字符串分割为最少的美丽字符串
- 访问数组中的位置使分数最大
- 将一个数字表示成幂的数字和的方案数
- 达到末尾下标所需的最大条约次数
- 构造最长非递减子数组
- 并行课程III
- 3n块披萨
- 切披萨的方案数
- 销售利润最大化
- 范围中美丽整数的数目
- 将三个组排序
- 任意子数组和的绝对值的最大值
- 判断是否能拆分数组
- 使数组和小于等于x的最少时间
- 统计范围内的步进数字数目
- 打家劫舍IV
- 可以到达每一个节点的最少边反转次数
- 执行操作使两个字符串相等
- 最长相邻不相等子序列II
- 和带限制的子多重集合的数目
- 得到k个半回文串的最少修改次数
- 摘樱桃II
- 跳跃游戏IV
- 矩阵中和能被k整除的路径
- 不相交的握手
- 使数组变美的最小增量运算数
- 收集所有金币可以获得的最大积分
- 检查数组是否存在划分
- 购买水果需要的最少金币数
- 找到最大非递减数组的长度
- 组合
- 组合总和
- 电话簿的字母组合
- 组合总和I
- 组合总和II
- 分割字符串
- 复原IP地址
- 子集II
- 子集I
- 递增子序列
- 全排列
- 全排列II
- 重新安排行程
- N皇后
- 解数独
- 括号生成
- N皇后II
- 单词搜索
- 格雷编码
- 单词接龙II
- 单词拆分II
- 岛屿数量
- 石子游戏II
- 删除无效的括号
- 戳气球
- 铺瓷砖
- 活字印刷
- 可能的二分法
- 水域大小
- 黑白翻转棋
- 金字塔转换矩阵
- 不同路径III
- 分发饼干
- 摆动序列
- 股票买卖问题II
- 跳跃游戏
- 跳跃游戏II
- 经过k次翻转后的最大和子序列
- 加油站
- 分发糖果
- 柠檬水找零
- 重建队列
- 用最少的箭射爆最多的气球
- 无重叠区间
- 划分字母区间
- 合并区间
- 单调递增数字
- 买卖股票的最佳时机II
- 监控二叉树
- 移除石子的最大得分
- 你能构造出连续值的最大数目
- 给定行和列的和求可行矩阵
- 赢得比赛需要的最少的训练时长
- 你可以工作的最大周数
- 拆分成最多数目的正偶数之和
- 需要教语言的最少人数
- 合并后数组中的最大元素
- 使子序列的和等于目标的最少操作次数
- 子序列最大优雅度
- 课程表III
- 合法分组的最少组数
- string.63