- 数组问题
- 字符串
- 树
- 哈希表
- 动态规划
- 深度优先搜索
- 二分查找
- 贪心
- 双指针
- 广度优先搜索
- 栈
- 回溯算法
- 设计
- 链表
- 排序
- 堆
- 位运算
- 图
- 并查集
- 分治算法
- 滑动窗口
- 字典树
- 递归
- 有序映射
- 线段树
- 队列
- 数学
- 极小化极大
- 树状数组
- Random
- 拓扑排序
- 脑筋急转弯
- 几何
- Line Sweep
- Rejection Sampling
- 蓄水池抽样
- 二叉搜索树
- 记忆化
- 两数之和
- 寻找两个有序数组的中位数
- 三数之和
- 最大子序和
- 接雨水
- 盛最多水的容器
- 最接近的三数之和
- 最大矩形
- 删除排序数组中的重复项
- 下一个排列
- 1比特与2比特字符
- 翻转图像
- 四数之和
- 组合总和
- 螺旋矩阵 II
- 杨辉三角
- 子集
- 数组拆分 I
- 跳跃游戏 II
- 买卖股票的最佳时机
- 变为棋盘
- 合并两个有序数组
- 最小路径和
- 三角形最小路径和
- 合并区间
- 孤独像素 II
- 求众数
- 旋转图像
- 两数之和 II - 输入有序数组
- 缺失的第一个正数
- 最长重复子数组
- 寻找重复数
- 生命游戏
- 按奇偶排序数组
- 移除元素
- 数组中重复的数据
- 除自身以外数组的乘积
- 摆动排序
- 找到所有数组中消失的数字
- 从前序与中序遍历序列构造二叉树
- 买卖股票的最佳时机 II
- 使用最小花费爬楼梯
- 无重复字符的最长子串
- 最长回文子串
- 括号生成
- Z 字形变换
- 罗马数字转整数
- 报数
- 电话号码的字母组合
- 正则表达式匹配
- 有效的括号
- 编辑距离
- 复原IP地址
- 整数转罗马数字
- 二进制求和
- 最长公共前缀
- 字符串相加
- 特殊的二进制序列
- 转换成小写字母
- 唯一摩尔斯密码词
- 最长特殊序列 Ⅰ
- 字符串相乘
- 相似 RGB 颜色
- 反转字符串 II
- 机器人能否返回原点
- 串联所有单词的子串
- 独特的电子邮件地址
- 最小区间
- 两个字符串的删除操作
- 反转字符串中的单词 III
- 回文子串
- 最长有效括号
- 实现 strStr()
- 寻找最近的回文数
- 分割连接字符串
- 反转字符串
- 重构字符串
- 字母异位词分组
- 交错字符串
- 最短回文串
- 字符串转换整数 (atoi)
- 最小覆盖子串
- 特殊等价字符串组
- 简化路径
- 不同的二叉搜索树 II
- 不同的二叉搜索树
- 二叉树的中序遍历
- 翻转二叉树
- 二叉树的最大深度
- 合并二叉树
- 二叉树的层次遍历 II
- 将有序数组转换为二叉搜索树
- 二叉树展开为链表
- 输出二叉树
- 最大二叉树
- 对称二叉树
- 从前序与中序遍历序列构造二叉树
- 序列化和反序列化二叉搜索树
- 最长同值路径
- 二叉树的所有路径
- 二叉树的直径
- N叉树的前序遍历
- 二叉树的右视图
- 把二叉搜索树转换为累加树
- 二叉树中的最大路径和
- 二叉树的前序遍历
- 二叉树的层次遍历
- 二叉搜索树的范围和
- 路径总和
- 二叉搜索树的最小绝对差
- 二叉搜索树中的众数
- 相同的树
- 二叉搜索树迭代器
- 所有可能的满二叉树
- 完全二叉树的节点个数
- 两数之和 IV - 输入 BST
- 修剪二叉搜索树
- 二叉树的层平均值
- 二叉树的最小深度
- 打家劫舍 III
- N叉树的最大深度
- 二叉树的后序遍历
- 根据前序和后序遍历构造二叉树
- 恢复二叉搜索树
- 左叶子之和
- 路径总和 III
- 两数之和
- TinyURL 的加密与解密
- 宝石与石头
- 无重复字符的最长子串
- 最大矩形
- 解数独
- 二叉树的中序遍历
- 四数之和
- 只出现一次的数字
- 两个数组的交集
- 每日温度
- 岛屿的周长
- 快乐数
- 串联所有单词的子串
- 键盘行
- 最长重复子数组
- 最小区间
- 回旋镖的数量
- 子域名访问计数
- 重复的DNA序列
- 字母异位词分组
- 和为K的子数组
- 最小覆盖子串
- 复制带随机指针的链表
- 原子的数量
- 员工的重要性
- 不同岛屿的数量 II
- 最长回文串
- 连续数组
- 计数质数
- 不同岛屿的数量
- 前 K 个高频元素
- 找不同
- 猜数字游戏
- 最长和谐子序列
- 查找常用字符
- 存在重复元素
- 最长重复子串
- 有效的数独
- 分糖果
- 单词规律
- 最短完整词
- 最长回文子串
- 最大子序和
- 最大矩形
- 正则表达式匹配
- 不同的二叉搜索树 II
- 编辑距离
- 不同的二叉搜索树
- 爬楼梯
- 买卖股票的最佳时机
- 戳气球
- 赛车
- 最小路径和
- 最佳买卖股票时机含冷冻期
- 三角形最小路径和
- 区域和检索 - 数组不可变
- 安卓系统手势解锁
- 划分为k个相等的子集
- 矩形区域不超过 K 的最大数值和
- 最长重复子数组
- 打家劫舍
- 统计重复个数
- 回文子串
- 最长有效括号
- 比特位计数
- 最大正方形
- 访问所有节点的最短路径
- 最长上升子序列
- K个逆序对数组
- 不含连续1的非负整数
- 丑数 II
- 等差数列划分
- 使用最小花费爬楼梯
- 大礼包
- 最长递增子序列的个数
- 猜数字大小 II
- 三个无重叠子数组的最大和
- 拼接最大数
- 地下城游戏
- 奇怪的打印机
- 交错字符串
- 计算各个位数不同的数字个数
- 不同路径
- 24 点游戏
- 祖玛游戏
- 二叉树的最大深度
- 将有序数组转换为二叉搜索树
- 破解保险箱
- 网络延迟时间
- 孤独像素 II
- 二叉树展开为链表
- 字符串解码
- 01 矩阵
- 对称二叉树
- 从前序与中序遍历序列构造二叉树
- 有序链表转换二叉搜索树
- 大礼包
- 奇怪的打印机
- 二叉树的所有路径
- 二叉树的右视图
- 二叉树中的最大路径和
- 路径总和
- 岛屿的最大面积
- 克隆图
- 隔离病毒
- 岛屿数量
- 相同的树
- 移除盒子
- 删除无效的括号
- 员工的重要性
- 金字塔转换矩阵
- 打家劫舍 III
- 二叉树的最小深度
- N叉树的最大深度
- 不同岛屿的数量 II
- 课程表
- 由斜杠划分区域
- 恢复二叉搜索树
- 递增子序列
- 树中距离之和
- 矩阵中的最长递增路径
- 三元表达式解析器
- 不同岛屿的数量
- 喧闹和富有
- 被围绕的区域
- 寻找两个有序数组的中位数
- 两个数组的交集
- 矩形区域不超过 K 的最大数值和
- 两数之和 II - 输入有序数组
- 寻找重复数
- 最长重复子数组
- 和至少为 K 的最短子数组
- 最长上升子序列
- 搜索旋转排序数组
- 地下城游戏
- Pow(x, n)
- 两数相除
- x 的平方根
- 搜索插入位置
- 山脉数组的峰顶索引
- 区间和的个数
- 有序矩阵中第K小的元素
- 乘法表中第k小的数
- 完全二叉树的节点个数
- 分割数组的最大值
- 长度最小的子数组
- 翻转对
- 寻找旋转排序数组中的最小值
- 猜数字大小
- 计算右侧小于当前元素的个数
- 在排序数组中查找元素的第一个和最后一个位置
- 供暖器
- 最长重复子串
- 第 K 个最小的素数分数
- 判断子序列
- 将数据流变为多个不相交区间
- 黑名单中的随机数
- 四数相加 II
- 寻找右区间
- 最小好进制
- 阶乘函数后K个零
- 俄罗斯套娃信封问题
- 搜索旋转排序数组 II
- 排列硬币
- 找出第 k 小的距离对
- 最小化去加油站的最大距离
- 寻找峰值
- 根据身高重建队列
- 跳跃游戏 II
- 情侣牵手
- 分发糖果
- 去除重复字母
- 买卖股票的最佳时机 II
- 重构字符串
- 任务调度器
- 拼接最大数
- 跳跃游戏
- 划分字母区间
- 翻转矩阵后的得分
- 两地调度
- 分发饼干
- 最后一块石头的重量
- 模拟行走机器人
- 删列造序
- 将数组拆分成斐波那契序列
- 加油站
- 买卖股票的最佳时机含手续费
- 判断子序列
- 通配符匹配
- 课程表 III
- IPO
- 分割数组为连续子序列
- 按要求补齐数组
- K 连续位的最小翻转次数
- 用最少数量的箭引爆气球
- K 距离间隔重排字符串
- 形成字符串的最短路径
- 设置交集大小至少为2
- 4键键盘
- 摆动序列
- 移掉K位数字
- 戳印序列
- 柠檬水找零
- 无重叠区间
- Dota2 参议院
- 优势洗牌
- 寻找排列
- 单调递增的数字
- 救生艇
- 无重复字符的最长子串
- 三数之和
- 接雨水
- 盛最多水的容器
- 最接近的三数之和
- 删除排序数组中的重复项
- 四数之和
- 合并两个有序数组
- 两个数组的交集
- 删除链表的倒数第N个节点
- 分隔链表
- 串联所有单词的子串
- 两数之和 II - 输入有序数组
- 寻找重复数
- 移除元素
- 最小区间
- 实现 strStr()
- 环形链表
- 反转字符串
- 颜色分类
- 有序数组的平方
- 最小覆盖子串
- 移动零
- 回文链表
- 划分字母区间
- 替换后的最长重复字符
- 长度最小的子数组
- 反转字符串中的元音字母
- 旋转链表
- 环形链表 II
- 独特字符串
- 验证回文串
- 乘积小于K的子数组
- 环形数组循环
- 两个数组的交集 II
- 删除排序数组中的重复项 II
- 数组中的最长山脉
- 安排工作以达到最大收益
- 比较含退格的字符串
- 推多米诺
- 最大连续1的个数 III
- 通过删除字母匹配到字典里最长单词
- 公交路线
- 二叉树的层次遍历 II
- 网络延迟时间
- 接雨水 II
- 01 矩阵
- 对称二叉树
- 滑动谜题
- 访问所有节点的最短路径
- 二叉树的右视图
- 二叉树的层次遍历
- 完全平方数
- 克隆图
- 岛屿数量
- 删除无效的括号
- 员工的重要性
- 二叉树的最小深度
- N叉树的最大深度
- 课程表
- 腐烂的橘子
- 相似度为 K 的字符串
- 被围绕的区域
- 在每个树行中找最大值
- 找树左下角的值
- 扫雷游戏
- 二叉树的锯齿形层次遍历
- 单词接龙
- N叉树的层序遍历
- 迷宫
- 最小高度树
- 太平洋大西洋水流问题
- 单词接龙 II
- 猫和老鼠
- 二叉树中所有距离为 K 的结点
- 离建筑物最近的距离
- 逃离大迷宫
- 获取所有钥匙的最短路径
- 以图判树
- 最短的桥
- 课程表 II
- 为高尔夫比赛砍树
- K 站中转内最便宜的航班
- 二叉树的堂兄弟节点
- 接雨水
- 最大矩形
- 有效的括号
- 二叉树的中序遍历
- 用队列实现栈
- 每日温度
- 去除重复字母
- 字符串解码
- 删除最外层的括号
- 下一个更大元素 I
- 基本计算器
- 最小栈
- 二叉树的前序遍历
- 简化路径
- 用栈实现队列
- 原子的数量
- 二叉搜索树迭代器
- 棒球比赛
- 柱状图中最大的矩形
- 下一个更大元素 II
- 二叉树的后序遍历
- 三元表达式解析器
- 括号的分数
- 132模式
- 扁平化嵌套列表迭代器
- 二叉树的锯齿形层次遍历
- 函数的独占时间
- 迷你语法分析器
- 链表中的下一个更大节点
- 基本计算器 IV
- 验证前序遍历序列二叉搜索树
- 比较含退格的字符串
- 验证栈序列
- 移掉K位数字
- 奇偶跳
- 验证二叉树的前序序列化
- 行星碰撞
- 最大频率栈
- 标签验证器
- 删除字符串中的所有相邻重复项
- 股票价格跨度
- 子数组的最小值之和
- 括号生成
- 全排列
- 电话号码的字母组合
- 解数独
- 正则表达式匹配
- 复原IP地址
- N皇后
- 组合总和
- 子集
- 字母大小写全排列
- 最短特异单词缩写
- 分割回文串
- 安卓系统手势解锁
- 全排列 II
- 组合
- 格雷编码
- 二进制手表
- 计算各个位数不同的数字个数
- 组合总和 III
- 优美的排列
- N皇后 II
- 单词搜索
- 列举单词的全部缩写
- 贴纸拼词
- 累加数
- 第k个排列
- 子集 II
- 将数组拆分成斐波那契序列
- 组合总和 II
- 通配符匹配
- 添加与搜索单词 - 数据结构设计
- 翻转游戏 II
- 单词接龙 II
- 单词搜索 II
- 单词方块
- 正方形数组的数目
- 活字印刷
- 单词拆分 II
- 不同路径 III
- 单词规律 II
- 回文排列 II
- 因子的组合
- 用队列实现栈
- LRU缓存机制
- LFU缓存
- 最小栈
- 实现 Trie (前缀树)
- 用栈实现队列
- 二叉搜索树迭代器
- 顶端迭代器
- 全 O(1) 的数据结构
- 扁平化嵌套列表迭代器
- 最短单词距离 II
- 设计内存文件系统
- 添加与搜索单词 - 数据结构设计
- 二叉树的序列化与反序列化
- 设计哈希集合
- 设计推特
- 数据流的中位数
- O(1) 时间插入、删除和获取随机元素 - 允许重复
- 设计哈希映射
- 电话目录管理系统
- 设计链表
- 设计 Excel 求和公式
- 设计循环双端队列
- 常数时间插入、删除和获取随机元素
- 设计循环队列
- 锯齿迭代器
- 单词的唯一缩写
- 日志速率限制器
- 数据流中的移动平均值
- 两数之和 III - 数据结构设计
- 展开二维向量
- 判定井字棋胜负
- 贪吃蛇
- 敲击计数器
- 迭代压缩字符串
- 设计日志存储系统
- 设计搜索自动补全系统
- 最大栈
- 两数相加
- 合并两个有序链表
- 反转链表
- 两两交换链表中的节点
- K 个一组翻转链表
- 反转链表 II
- 排序链表
- 合并K个排序链表
- 删除链表中的节点
- 重排链表
- 删除链表的倒数第N个节点
- 分隔链表
- 移除链表元素
- 两数相加 II
- 有序链表转换二叉搜索树
- 环形链表
- 删除排序链表中的重复元素
- 复制带随机指针的链表
- 回文链表
- 删除排序链表中的重复元素 II
- 对链表进行插入排序
- 链表的中间结点
- 相交链表
- 旋转链表
- 环形链表 II
- 将二叉搜索树转化为排序的双向链表
- 链表中的下一个更大节点
- 奇偶链表
- 分隔链表
- 扁平化多级双向链表
- 电话目录管理系统
- 链表组件
- 设计链表
- 循环有序列表的插入
- 给单链表加一
- 排序链表
- 两个数组的交集
- 合并区间
- 最大数
- 摆动排序
- 重构字符串
- 颜色分类
- 最大间距
- 区间和的个数
- 对链表进行插入排序
- 插入区间
- 按奇偶排序数组 II
- 最佳的碰头地点
- 翻转对
- 计算右侧小于当前元素的个数
- 存在重复元素 III
- 数组的相对排序
- 煎饼排序
- 黑名单中的随机数
- H指数
- 有效的字母异位词
- 摆动排序 II
- 两个数组的交集 II
- 单词缩写
- 车队
- 三角形的最大周长
- 通过删除字母匹配到字典里最长单词
- 最接近原点的 K 个点
- 距离顺序排列矩阵单元格
- 距离相等的条形码
- 会议室 II
- 校园自行车分配
- 会议室
- 前五科的均分
- 用户网站访问行为分析
- 合并K个排序链表
- 赛车
- 网络延迟时间
- 接雨水 II
- 丑数 II
- 重构字符串
- 数组中的第K个最大元素
- 超级丑数
- 有序矩阵中第K小的元素
- 天际线问题
- 前 K 个高频元素
- 最后一块石头的重量
- 最低加油次数
- 第 K 个最小的素数分数
- 数据流中的第K大元素
- 找出第 k 小的距离对
- IPO
- 分割数组为连续子序列
- K 距离间隔重排字符串
- 滑动窗口最大值
- 水位上升的泳池中游泳
- 设计推特
- 数据流的中位数
- 根据字符出现频率排序
- 前K个高频单词
- 获取所有钥匙的最短路径
- 查找和最小的K对数字
- 雇佣 K 名工人的最低成本
- K 站中转内最便宜的航班
- 最接近原点的 K 个点
- 细分图中的可到达结点
- 距离相等的条形码
- 会议室 II
- 员工空闲时间
- 数组中两个数的最大异或值
- 只出现一次的数字 III
- 子集
- 只出现一次的数字 II
- 只出现一次的数字
- 字母大小写全排列
- 最短特异单词缩写
- 汉明距离
- 两整数之和
- 求众数
- 二进制手表
- 比特位计数
- 重复的DNA序列
- 数字的补数
- 缺失数字
- 列举单词的全部缩写
- 金字塔转换矩阵
- 颠倒二进制位
- 汉明距离总和
- 找不同
- 数字范围按位与
- UTF-8 编码验证
- 2的幂
- 4的幂
- 二进制表示中质数个计算置位
- IP 到 CIDR
- 数字转换为十六进制数
- 位1的个数
- 最大单词长度乘积
- 交替位二进制数
- 整数替换
- 子数组按位或操作
- 最小的必要团队
- 情侣牵手
- 网络延迟时间
- 除法求值
- 克隆图
- 课程表
- 由斜杠划分区域
- 相似度为 K 的字符串
- 相似字符串组
- 最小高度树
- 不邻接植花
- 重新安排行程
- 冗余连接
- 钥匙和房间
- 正方形数组的数目
- 序列重建
- 冗余连接 II
- 以图判树
- 课程表 II
- 火星词典
- 尽量减少恶意软件的传播 II
- 分隔数组以得到最大和
- 找到最终的安全状态
- 找到小镇的法官
- 判断二分图
- 无向图中连通分量的数目
- 等式方程的可满足性
- 得分最高的路径
- 从始点到终点的所有路径
- 最低成本联通所有城市
- 平行课程
- 最大层内元素和
- 地图分析
- 字符串转化
- 情侣牵手
- 最长连续序列
- 除法求值
- 打砖块
- 岛屿数量
- 由斜杠划分区域
- 被围绕的区域
- 相似字符串组
- 朋友圈
- 账户合并
- 冗余连接
- 水位上升的泳池中游泳
- 冗余连接 II
- 以图判树
- 尽量减少恶意软件的传播 II
- 尽量减少恶意软件的传播
- 岛屿数量 II
- 移除最多的同行或同列石头
- 无向图中连通分量的数目
- 按公因数计算最大组件大小
- 彼此熟识的最早时间
- 等式方程的可满足性
- 得分最高的路径
- 句子相似性 II
- 按字典序排列最小的等效字符串
- 最低成本联通所有城市
- 寻找两个有序数组的中位数
- 最大子序和
- 合并K个排序链表
- 戳气球
- 求众数
- 为运算表达式设计优先级
- 漂亮数组
- 数组中的第K个最大元素
- 区间和的个数
- 给表达式添加运算符
- 翻转对
- 天际线问题
- 计算右侧小于当前元素的个数
- 将二叉搜索树转化为排序的双向链表
- DI 序列的有效排列
- 自由之路
- 搜索二维矩阵 II
- 最接近原点的 K 个点
- 无重复字符的最长子串
- 最小覆盖子串
- 滑动窗口中位数
- 替换后的最长重复字符
- K 连续位的最小翻转次数
- 滑动窗口最大值
- 最小窗口子序列
- 最大连续1的个数 III
- K 个不同整数的子数组
- 移动石子直到连续 II】
- 字符串的排列
- 至多包含 K 个不同字符的最长子串
- 最长湍流子数组
- 爱生气的书店老板
- 元素和为目标值的子矩阵数量
- 至多包含两个不同字符的最长子串
- 长度为 K 的无重复字符子串
- 最少交换次数来组合所有的 1
- 数组中两个数的最大异或值
- 实现 Trie (前缀树)
- 前缀和后缀搜索
- 添加与搜索单词 - 数据结构设计
- 词典中最长的单词
- 键值映射
- 单词替换
- 单词搜索 II
- 单词方块
- 实现一个魔法字典
- 回文对
- 前K个高频单词
- 字符流
- 连接词
- 字符串的索引对
- 驼峰式匹配
- 设计搜索自动补全系统
- 特殊的二进制序列
- 划分为k个相等的子集
- 最长同值路径
- 二叉搜索树的范围和
- 原子的数量
- 所有可能的满二叉树
- 二叉搜索树结点最小距离
- 有效的井字游戏
- 中心对称数 II
- 输出比赛匹配对
- 第K个语法符号
- 最小因式分解
- 中心对称数 III
- 拆分二叉搜索树
- 两数相加
- TinyURL 的加密与解密
- 整数反转
- 罗马数字转整数
- 回文数
- 可怜的小猪
- 各位相加
- 数字 1 的个数
- 整数转罗马数字
- 二进制求和
- 变为棋盘
- 字符串相乘
- 自除数
- 破解保险箱
- 最大三角形面积
- 快乐数
- 灯泡开关
- 相似 RGB 颜色
- 增减字符串匹配
- 数组的均值分割
- 三维形体的表面积
- 黑板异或游戏
- 丑数 II
- 等差数列划分
- 超级次方
- 三个数的最大乘积
- 基本计算器
- 第N个数字
- Pow(x, n)
- 计算各个位数不同的数字个数
- 字符串转换整数 (atoi)
- 两数相除
- x 的平方根
- 完全平方数
- 到达终点数字
- 最大整除子集
- 缺失数字
- 最小移动次数使数组元素相等
- 超级丑数
- 整数拆分
- 最少移动次数使数组元素相等 II
- 石子游戏