| # | Title | Solution | Difficulty |
|---|---|---|---|
| 1 | 两数之和 | C++, Go, Java, Typescript, Rust | Easy |
| 2 | 两数相加 | Rust | Medium |
| 3 | 无重复字符的最长子串 | C++, Go | Medium |
| 4 | 寻找两个正序数组的中位数⭐ | C++, C++, Python, Python, Rust | Hard |
| 5 | 最长回文子串 | C++, Python, Python | Medium |
| 6 | Z 字形变换 | Rust | Medium |
| 7 | 整数反转 | C++ | Medium |
| 8 | 字符串转换整数 (atoi) | C++, Rust | Medium |
| 10 | 正则表达式匹配⭐ | C++, C++, C++ | Hard |
| 11 | 盛最多水的容器⭐ | C++, Rust | Medium |
| 12 | 整数转罗马数字 | C++, Rust | Medium |
| 13 | 罗马数字转整数 | Python, Rust | Easy |
| 15 | 三数之和 | Rust | Medium |
| 16 | 最接近的三数之和 | Rust | Medium |
| 18 | 四数之和 | Rust | Medium |
| 19 | 删除链表的倒数第 N 个结点⭐ | Python, Rust | Medium |
| 21 | 合并两个有序链表 | C++, Rust | Easy |
| 23 | 合并K个升序链表 | C++, C++, Python | Hard |
| 24 | 两两交换链表中的节点 | C++ | Medium |
| 25 | K 个一组翻转链表 | C++, C++, C++ | Hard |
| 26 | 删除有序数组中的重复项 | C++, Rust | Easy |
| 27 | 移除元素 | C++ | Easy |
| 28 | 实现 strStr() | C++ | Easy |
| 29 | 两数相除 | C++, C++ | Medium |
| 30 | 串联所有单词的子串 | C++, C++ | Hard |
| 31 | 下一个排列 | C++ | Medium |
| 32 | 最长有效括号 | C++, C++, Python | Hard |
| 33 | 搜索旋转排序数组⭐ | C++, C++, Rust | Medium |
| 34 | 在排序数组中查找元素的第一个和最后一个位置 | C++ | Medium |
| 35 | 搜索插入位置 | C++ | Easy |
| 36 | 有效的数独 | C++, Python, Rust | Medium |
| 37 | 解数独 | C++ | Hard |
| 38 | 外观数列 | C++ | Medium |
| 39 | 组合总和 | C++, C++ | Medium |
| 40 | 组合总和 II | C++ | Medium |
| 41 | 缺失的第一个正数 | C++, C++ | Hard |
| 42 | 接雨水 | C++, C++ | Hard |
| 43 | 字符串相乘 | Rust | Medium |
| 44 | 通配符匹配 | C++ | Hard |
| 45 | 跳跃游戏 II | C++ | Medium |
| 46 | 全排列 | C++, C++, C++ | Medium |
| 47 | 全排列 II | C++, C++ | Medium |
| 48 | 旋转图像 | C++ | Medium |
| 49 | 字母异位词分组 | C++, C++ | Medium |
| 51 | N 皇后 | C++ | Hard |
| 54 | 螺旋矩阵 | C++, Python, Rust | Medium |
| 55 | 跳跃游戏 | Python | Medium |
| 56 | 合并区间 | C++ | Medium |
| 57 | 插入区间 | C++, Rust | Medium |
| 58 | 最后一个单词的长度 | C++ | Easy |
| 59 | 螺旋矩阵 II | C++, Python, Rust | Medium |
| 60 | 排列序列 | C++, Python | Hard |
| 61 | 旋转链表 | C++ | Medium |
| 62 | 不同路径 | C++ | Medium |
| 63 | 不同路径 II | C++ | Medium |
| 64 | 最小路径和 | C++ | Medium |
| 65 | 有效数字 | C++, C++, Rust | Hard |
| 68 | 文本左右对齐 | C++, Python | Hard |
| 70 | 爬楼梯 | C++ | Easy |
| 71 | 简化路径 | C++ | Medium |
| 73 | 矩阵置零 | C++ | Medium |
| 74 | 搜索二维矩阵 | C++, C++ | Medium |
| 75 | 颜色分类 | C++ | Medium |
| 76 | 最小覆盖子串⭐ | C++ | Hard |
| 77 | 组合 | C++ | Medium |
| 78 | 子集 | C++ | Medium |
| 79 | 单词搜索 | C++, C++ | Medium |
| 80 | 删除有序数组中的重复项 II | C++ | Medium |
| 81 | 搜索旋转排序数组 II | C++, C++, C++, Python | Medium |
| 82 | 删除排序链表中的重复元素 II | C++ | Medium |
| 83 | 删除排序链表中的重复元素 | C++ | Easy |
| 84 | 柱状图中最大的矩形⭐ | C++ | Hard |
| 85 | 最大矩形 | C++ | Hard |
| 86 | 分隔链表 | C++ | Medium |
| 87 | 扰乱字符串 | C++, Python | Hard |
| 88 | 合并两个有序数组 | C++ | Easy |
| 89 | 格雷编码⭐ | C++, Rust | Medium |
| 90 | 子集 II | C++, C++ | Medium |
| 91 | 解码方法 | C++ | Medium |
| 92 | 反转链表 II | C++, C++ | Medium |
| 93 | 复原 IP 地址 | C++, Python | Medium |
| 94 | 二叉树的中序遍历⭐ | C++ | Easy |
| 95 | 不同的二叉搜索树 II | C++ | Medium |
| 96 | 不同的二叉搜索树⭐ | C++ | Medium |
| 97 | 交错字符串⭐ | C++, Python | Medium |
| 98 | 验证二叉搜索树 | C++ | Medium |
| 99 | 恢复二叉搜索树 | C++, C++ | Medium |
| 100 | 相同的树 | C++ | Easy |
| 101 | 对称二叉树 | C++ | Easy |
| 102 | 二叉树的层序遍历 | C++ | Medium |
| 103 | 二叉树的锯齿形层序遍历 | C++ | Medium |
| 104 | 二叉树的最大深度 | C++ | Easy |
| 105 | 从前序与中序遍历序列构造二叉树 | C++ | Medium |
| 106 | 从中序与后序遍历序列构造二叉树 | C++ | Medium |
| 107 | 二叉树的层序遍历 II | C++ | Medium |
| 109 | 有序链表转换二叉搜索树 | C++ | Medium |
| 110 | 平衡二叉树 | C++ | Easy |
| 111 | 二叉树的最小深度 | C++ | Easy |
| 112 | 路径总和 | C++ | Easy |
| 113 | 路径总和 II | C++ | Medium |
| 114 | 二叉树展开为链表 | C++ | Medium |
| 115 | 不同的子序列 | C++ | Hard |
| 116 | 填充每个节点的下一个右侧节点指针 | C++ | Medium |
| 117 | 填充每个节点的下一个右侧节点指针 II | C++ | Medium |
| 118 | 杨辉三角 | C++ | Easy |
| 119 | 杨辉三角 II | C++ | Easy |
| 120 | 三角形最小路径和 | C++ | Medium |
| 121 | 买卖股票的最佳时机 | C++, C++ | Easy |
| 122 | 买卖股票的最佳时机 II | C++ | Medium |
| 123 | 买卖股票的最佳时机 III⭐ | C++ | Hard |
| 124 | 二叉树中的最大路径和 | C++ | Hard |
| 125 | 验证回文串 | C++ | Easy |
| 126 | 单词接龙 II | C++ | Hard |
| 127 | 单词接龙 | C++, C++, C++, Python | Hard |
| 128 | 最长连续序列 | C++, Python | Medium |
| 129 | 求根节点到叶节点数字之和 | C++ | Medium |
| 130 | 被围绕的区域 | C++ | Medium |
| 131 | 分割回文串 | C++ | Medium |
| 132 | 分割回文串 II | C++ | Hard |
| 133 | 克隆图 | C++ | Medium |
| 134 | 加油站 | C++ | Medium |
| 135 | 分发糖果 | C++, C++ | Hard |
| 137 | 只出现一次的数字 II⭐ | C++ | Medium |
| 138 | 复制带随机指针的链表⭐ | C++ | Medium |
| 139 | 单词拆分 | C++, Python, Rust | Medium |
| 140 | 单词拆分 II | C++, Python | Hard |
| 141 | 环形链表 | C++ | Easy |
| 142 | 环形链表 II⭐ | C++, C++, C++ | Medium |
| 143 | 重排链表 | C++ | Medium |
| 144 | 二叉树的前序遍历 | C++ | Easy |
| 145 | 二叉树的后序遍历 | C++ | Easy |
| 146 | LRU 缓存 | C++, Python | Medium |
| 147 | 对链表进行插入排序 | C++ | Medium |
| 148 | 排序链表⭐ | C++ | Medium |
| 149 | 直线上最多的点数 | C++, C++, Python, Python, Rust | Hard |
| 150 | 逆波兰表达式求值 | C++, C++ | Medium |
| 151 | 颠倒字符串中的单词 | C++, Python | Medium |
| 152 | 乘积最大子数组 | C++ | Medium |
| 153 | 寻找旋转排序数组中的最小值 | C++ | Medium |
| 154 | 寻找旋转排序数组中的最小值 II | C++ | Hard |
| 155 | 最小栈 | C++ | Easy |
| 160 | 相交链表⭐ | C++ | Easy |
| 162 | 寻找峰值 | C++, C++, Rust | Medium |
| 164 | 最大间距 | C++ | Hard |
| 165 | 比较版本号 | C++ | Medium |
| 166 | 分数到小数 | C++ | Medium |
| 167 | 两数之和 II - 输入有序数组 | C++ | Medium |
| 168 | Excel表列名称⭐ | C++, C++, Rust | Easy |
| 169 | 多数元素 | C++ | Easy |
| 172 | 阶乘后的零 | C++ | Medium |
| 173 | 二叉搜索树迭代器⭐ | C++ | Medium |
| 174 | 地下城游戏 | C++ | Hard |
| 179 | 最大数 | C++, C++ | Medium |
| 188 | 买卖股票的最佳时机 IV⭐ | C++, C++, Go, Java, Rust | Hard |
| 189 | 轮转数组⭐ | C++ | Medium |
| 190 | 颠倒二进制位⭐ | C++ | Easy |
| 191 | 位1的个数 | C++ | Easy |
| 195 | 第十行 | Shell | Easy |
| 198 | 打家劫舍 | C++ | Medium |
| 199 | 二叉树的右视图 | C++ | Medium |
| 200 | 岛屿数量 | C++ | Medium |
| 201 | 数字范围按位与⭐ | C++ | Medium |
| 202 | 快乐数 | C++ | Easy |
| 203 | 移除链表元素 | C++ | Easy |
| 204 | 计数质数 | C++ | Medium |
| 205 | 同构字符串 | C++ | Easy |
| 206 | 反转链表 | C++, Python, Rust | Easy |
| 207 | 课程表 | C++ | Medium |
| 208 | 实现 Trie (前缀树) | C++, C++, Python, Python | Medium |
| 209 | 长度最小的子数组 | C++ | Medium |
| 210 | 课程表 II | C++ | Medium |
| 211 | 添加与搜索单词 - 数据结构设计 | C++ | Medium |
| 212 | 单词搜索 II | C++, C++, Python | Hard |
| 213 | 打家劫舍 II | C++, C++ | Medium |
| 214 | 最短回文串⭐ | C++ | Hard |
| 215 | 数组中的第K个最大元素 | C++, C++, C++ | Medium |
| 216 | 组合总和 III | C++ | Medium |
| 218 | 天际线问题⭐ | C++, C++, Rust | Hard |
| 219 | 存在重复元素 II | C++ | Easy |
| 220 | 存在重复元素 III | C++, C++, Java | Medium |
| 221 | 最大正方形 | C++ | Medium |
| 222 | 完全二叉树的节点个数 | C++ | Medium |
| 223 | 矩形面积 | C++ | Medium |
| 224 | 基本计算器 | C++, Rust | Hard |
| 225 | 用队列实现栈 | C++ | Easy |
| 226 | 翻转二叉树 | C++ | Easy |
| 227 | 基本计算器 II | C++, C++ | Medium |
| 229 | 多数元素 II⭐ | C++, C++, Python | Medium |
| 231 | 2 的幂 | C++ | Easy |
| 232 | 用栈实现队列 | C++ | Easy |
| 233 | 数字 1 的个数 | C++, C++, Rust | Hard |
| 234 | 回文链表 | C++ | Easy |
| 235 | 二叉搜索树的最近公共祖先 | C++ | Easy |
| 236 | 二叉树的最近公共祖先 | C++ | Medium |
| 237 | 删除链表中的节点 | C++, Java, Java | Easy |
| 238 | 除自身以外数组的乘积 | C++ | Medium |
| 239 | 滑动窗口最大值⭐ | C++, Python | Hard |
| 241 | 为运算表达式设计优先级 | C++ | Medium |
| 248 | 中心对称数 III | C++ | Hard |
| 257 | 二叉树的所有路径 | C++ | Easy |
| 258 | 各位相加⭐ | C++ | Easy |
| 260 | 只出现一次的数字 III | C++ | Medium |
| 263 | 丑数 | C++ | Easy |
| 264 | 丑数 II | C++, C++ | Medium |
| 268 | 丢失的数字 | C++, C++ | Easy |
| 273 | 整数转换英文表示 | C++ | Hard |
| 274 | H 指数 | C++, C++, Rust | Medium |
| 275 | H 指数 II | C++, Go, Rust | Medium |
| 278 | 第一个错误的版本 | C++ | Easy |
| 279 | 完全平方数⭐ | C++, Rust, Rust | Medium |
| 282 | 给表达式添加运算符 | C++ | Hard |
| 283 | 移动零 | C++ | Easy |
| 287 | 寻找重复数⭐ | C++, Python | Medium |
| 295 | 数据流的中位数⭐ | C++, C++, C++, Rust | Hard |
| 297 | 二叉树的序列化与反序列化⭐ | C++, C++, C++ | Hard |
| 299 | 猜数字游戏 | Python | Medium |
| 300 | 最长递增子序列 | C++, C++ | Medium |
| 301 | 删除无效的括号 | C++ | Hard |
| 303 | 区域和检索 - 数组不可变 | C++ | Easy |
| 304 | 二维区域和检索 - 矩阵不可变 | Rust | Medium |
| 306 | 累加数 | C++ | Medium |
| 307 | 区域和检索 - 数组可修改 | C++, C++, C++ | Medium |
| 309 | 最佳买卖股票时机含冷冻期 | C++ | Medium |
| 310 | 最小高度树 | C++ | Medium |
| 312 | 戳气球⭐ | C++, C++ | Hard |
| 313 | 超级丑数⭐ | C++, C++, Rust, Rust | Medium |
| 315 | 计算右侧小于当前元素的个数 | C++ | Hard |
| 316 | 去除重复字母 | Python | Medium |
| 318 | 最大单词长度乘积 | Python | Medium |
| 319 | 灯泡开关⭐ | C++ | Medium |
| 321 | 拼接最大数 | C++ | Hard |
| 322 | 零钱兑换 | C++ | Medium |
| 324 | 摆动排序 II⭐ | C++, C++, C++, Python | Medium |
| 327 | 区间和的个数 | C++ | Hard |
| 331 | 验证二叉树的前序序列化⭐ | C++, C++ | Medium |
| 332 | 重新安排行程 | C++, Python | Hard |
| 334 | 递增的三元子序列 | C++, C++ | Medium |
| 337 | 打家劫舍 III | C++ | Medium |
| 338 | 比特位计数 | C++, Go, Rust | Easy |
| 341 | 扁平化嵌套列表迭代器⭐ | C++ | Medium |
| 342 | 4的幂⭐ | C++, Python | Easy |
| 343 | 整数拆分 | Python | Medium |
| 344 | 反转字符串 | Python | Easy |
| 345 | 反转字符串中的元音字母 | C++, C++ | Easy |
| 347 | 前 K 个高频元素 | Python | Medium |
| 354 | 俄罗斯套娃信封问题 | C++ | Hard |
| 357 | 统计各位数字都不同的数字个数 | C++, Python | Medium |
| 363 | 矩形区域不超过 K 的最大数值和⭐ | C++ | Hard |
| 367 | 有效的完全平方数 | C++ | Easy |
| 368 | 最大整除子集 | C++ | Medium |
| 371 | 两整数之和 | C++ | Medium |
| 372 | 超级次方⭐ | C++, C++ | Medium |
| 373 | 查找和最小的 K 对数字 | C++, Rust | Medium |
| 374 | 猜数字大小 | C++ | Easy |
| 375 | 猜数字大小 II | C++ | Medium |
| 376 | 摆动序列⭐ | Python | Medium |
| 377 | 组合总和 Ⅳ⭐ | C++, Python | Medium |
| 378 | 有序矩阵中第 K 小的元素⭐ | C++, C++ | Medium |
| 380 | O(1) 时间插入、删除和获取随机元素⭐ | C++ | Medium |
| 381 | O(1) 时间插入、删除和获取随机元素 - 允许重复 | C++ | Hard |
| 382 | 链表随机节点 | C++ | Medium |
| 384 | 打乱数组⭐ | C++ | Medium |
| 389 | 找不同 | C++, Python | Easy |
| 390 | 消除游戏 | C++ | Medium |
| 391 | 完美矩形 | C++, C++ | Hard |
| 392 | 判断子序列⭐ | C++ | Easy |
| 394 | 字符串解码 | C++ | Medium |
| 395 | 至少有 K 个重复字符的最长子串 | Python, Python | Medium |
| 398 | 随机数索引⭐ | C++, C++ | Medium |
| 399 | 除法求值 | C++, Python | Medium |
| 401 | 二进制手表 | Rust | Easy |
| 402 | 移掉 K 位数字 | Python | Medium |
| 403 | 青蛙过河 | C++ | Hard |
| 404 | 左叶子之和 | C++ | Easy |
| 405 | 数字转换为十六进制数 | C++ | Easy |
| 406 | 根据身高重建队列⭐ | C++, C++ | Medium |
| 407 | 接雨水 II⭐ | C++ | Hard |
| 409 | 最长回文串 | Python | Easy |
| 413 | 等差数列划分 | C++, Rust | Medium |
| 414 | 第三大的数 | C++ | Easy |
| 416 | 分割等和子集⭐ | C++ | Medium |
| 418 | 屏幕可显示句子的数量 | C++ | Medium |
| 421 | 数组中两个数的最大异或值⭐ | C++, C++, Python, Rust | Medium |
| 424 | 替换后的最长重复字符 | C++, C++ | Medium |
| 429 | N 叉树的层序遍历 | C++ | Medium |
| 430 | 扁平化多级双向链表⭐ | C++ | Medium |
| 432 | 全 O(1) 的数据结构⭐ | C++ | Hard |
| 436 | 寻找右区间 | C++, Python | Medium |
| 437 | 路径总和 III | C++, C++ | Medium |
| 438 | 找到字符串中所有字母异位词 | C++ | Medium |
| 441 | 排列硬币 | C++ | Easy |
| 442 | 数组中重复的数据⭐ | C++, Python | Medium |
| 443 | 压缩字符串 | C++ | Medium |
| 445 | 两数相加 II | C++, C++ | Medium |
| 446 | 等差数列划分 II - 子序列 | C++, Rust | Hard |
| 447 | 回旋镖的数量 | Rust | Medium |
| 448 | 找到所有数组中消失的数字 | C++ | Easy |
| 449 | 序列化和反序列化二叉搜索树⭐ | C++ | Medium |
| 450 | 删除二叉搜索树中的节点 | C++ | Medium |
| 451 | 根据字符出现频率排序 | Rust | Medium |
| 454 | 四数相加 II | Python | Medium |
| 456 | 132 模式⭐ | C++, C++, Python | Medium |
| 459 | 重复的子字符串 | C++ | Easy |
| 460 | LFU 缓存 | C++, C++, C++ | Hard |
| 461 | 汉明距离 | C++, Python | Easy |
| 462 | 最少移动次数使数组元素相等 II | C++, Python | Medium |
| 464 | 我能赢吗⭐ | Python | Medium |
| 467 | 环绕字符串中唯一的子字符串⭐ | C++ | Medium |
| 468 | 验证IP地址 | C++ | Medium |
| 472 | 连接词⭐ | C++, Rust | Hard |
| 473 | 火柴拼正方形 | C++ | Medium |
| 474 | 一和零 | C++, Rust | Medium |
| 477 | 汉明距离总和 | C++ | Medium |
| 479 | 最大回文数乘积 | C++ | Hard |
| 480 | 滑动窗口中位数⭐ | C++, C++, C++ | Hard |
| 482 | 密钥格式化 | Python | Easy |
| 483 | 最小好进制 | C++, C++ | Hard |
| 485 | 最大连续 1 的个数 | C++ | Easy |
| 486 | 预测赢家 | C++, Python | Medium |
| 488 | 祖玛游戏 | Python | Hard |
| 491 | 递增子序列 | C++, C++, Python, Rust | Medium |
| 493 | 翻转对 | C++ | Hard |
| 494 | 目标和⭐ | C++, C++, Python, Rust | Medium |
| 495 | 提莫攻击 | C++ | Easy |
| 496 | 下一个更大元素 I | C++ | Easy |
| 497 | 非重叠矩形中的随机点 | C++ | Medium |
| 498 | 对角线遍历 | C++, Rust | Medium |
| 502 | IPO | C++ | Hard |
| 503 | 下一个更大元素 II | C++ | Medium |
| 508 | 出现次数最多的子树元素和 | C++ | Medium |
| 513 | 找树左下角的值 | C++ | Medium |
| 515 | 在每个树行中找最大值 | C++, Rust | Medium |
| 516 | 最长回文子序列 | C++, Python, Rust | Medium |
| 517 | 超级洗衣机⭐ | C++ | Hard |
| 518 | 零钱兑换 II⭐ | C++ | Medium |
| 519 | 随机翻转矩阵 | C++ | Medium |
| 520 | 检测大写字母 | C++ | Easy |
| 521 | 最长特殊序列 Ⅰ | Rust, Rust, Rust | Easy |
| 522 | 最长特殊序列 II | Python | Medium |
| 523 | 连续的子数组和 | C++, Python, Rust | Medium |
| 524 | 通过删除字母匹配到字典里最长单词 | C++ | Medium |
| 525 | 连续数组⭐ | C++, Rust | Medium |
| 526 | 优美的排列⭐ | C++, C++, Rust | Medium |
| 528 | 按权重随机选择⭐ | C++ | Medium |
| 530 | 二叉搜索树的最小绝对差 | C++ | Easy |
| 532 | 数组中的 k-diff 数对 | C++ | Medium |
| 537 | 复数乘法⭐ | C++ | Medium |
| 541 | 反转字符串 II | Python | Easy |
| 543 | 二叉树的直径 | C++, Rust | Easy |
| 546 | 移除盒子⭐ | C++, C++, C++ | Hard |
| 547 | 省份数量 | C++, C++, C++, Python | Medium |
| 551 | 学生出勤记录 I | Rust | Easy |
| 552 | 学生出勤记录 II | Rust | Hard |
| 554 | 砖墙 | Python, Rust | Medium |
| 556 | 下一个更大元素 III | C++ | Medium |
| 557 | 反转字符串中的单词 III | Python | Easy |
| 560 | 和为 K 的子数组 | C++ | Medium |
| 561 | 数组拆分 I | C++ | Easy |
| 566 | 重塑矩阵 | C++ | Easy |
| 567 | 字符串的排列 | C++ | Medium |
| 576 | 出界的路径数 | C++, Rust | Medium |
| 581 | 最短无序连续子数组⭐ | C++, C++, Rust | Medium |
| 587 | 安装栅栏⭐ | C++ | Hard |
| 594 | 最长和谐子序列 | C++ | Easy |
| 600 | 不含连续1的非负整数 | C++ | Hard |
| 621 | 任务调度器 | C++ | Medium |
| 628 | 三个数的最大乘积 | C++ | Easy |
| 629 | K个逆序对数组 | C++ | Hard |
| 632 | 最小区间⭐ | C++ | Hard |
| 633 | 平方数之和 | C++ | Medium |
| 638 | 大礼包⭐ | C++, Python | Medium |
| 639 | 解码方法 II | C++ | Hard |
| 640 | 求解方程 | C++, Python, Rust | Medium |
| 645 | 错误的集合 | Rust | Easy |
| 646 | 最长数对链⭐ | C++ | Medium |
| 647 | 回文子串 | C++ | Medium |
| 648 | 单词替换 | Python | Medium |
| 649 | Dota2 参议院⭐ | Rust | Medium |
| 650 | 只有两个键的键盘⭐ | C++, C++ | Medium |
| 654 | 最大二叉树 | C++ | Medium |
| 657 | 机器人能否返回原点 | Python | Easy |
| 665 | 非递减数列 | C++ | Medium |
| 668 | 乘法表中第k小的数 | C++, Rust | Hard |
| 671 | 二叉树中第二小的节点 | C++ | Easy |
| 673 | 最长递增子序列的个数⭐ | C++, C++, C++, Python, Rust | Medium |
| 677 | 键值映射 | C++ | Medium |
| 678 | 有效的括号字符串⭐ | C++ | Medium |
| 679 | 24 点游戏 | C++ | Hard |
| 682 | 棒球比赛 | Rust | Easy |
| 684 | 冗余连接 | C++ | Medium |
| 685 | 冗余连接 II | C++ | Hard |
| 686 | 重复叠加字符串匹配 | C++ | Medium |
| 687 | 最长同值路径 | C++ | Medium |
| 688 | 骑士在棋盘上的概率 | C++ | Medium |
| 690 | 员工的重要性 | C++ | Medium |
| 691 | 贴纸拼词⭐ | Hard | |
| 692 | 前K个高频单词 | C++, Rust | Medium |
| 697 | 数组的度 | C++ | Easy |
| 698 | 划分为k个相等的子集⭐ | C++, C++, C++, Python | Medium |
| 699 | 掉落的方块⭐ | C++ | Hard |
| 701 | 二叉搜索树中的插入操作 | C++ | Medium |
| 703 | 数据流中的第 K 大元素 | C++ | Easy |
| 704 | 二分查找 | C++ | Easy |
| 705 | 设计哈希集合 | C++, C++, C++ | Easy |
| 706 | 设计哈希映射 | C++, Rust | Easy |
| 710 | 黑名单中的随机数⭐ | C++ | Hard |
| 714 | 买卖股票的最佳时机含手续费 | C++ | Medium |
| 715 | Range 模块 | C++, C++ | Hard |
| 718 | 最长重复子数组 | C++ | Medium |
| 719 | 找出第 K 小的数对距离 | C++ | Hard |
| 721 | 账户合并 | C++, Python | Medium |
| 724 | 寻找数组的中心下标 | Python | Easy |
| 725 | 分隔链表 | C++ | Medium |
| 726 | 原子的数量 | C++ | Hard |
| 729 | 我的日程安排表 I | C++, C++ | Medium |
| 730 | 统计不同回文子序列 | C++, Go | Hard |
| 731 | 我的日程安排表 II | C++ | Medium |
| 732 | 我的日程安排表 III⭐ | C++ | Hard |
| 739 | 每日温度 | C++ | Medium |
| 740 | 删除并获得点数 | Python, Rust | Medium |
| 741 | 摘樱桃 | Python | Hard |
| 746 | 使用最小花费爬楼梯 | C++, Python | Easy |
| 752 | 打开转盘锁 | C++ | Medium |
| 753 | 破解保险箱 | Python | Hard |
| 763 | 划分字母区间 | C++ | Medium |
| 765 | 情侣牵手 | C++ | Hard |
| 766 | 托普利茨矩阵 | Python | Easy |
| 773 | 滑动谜题⭐ | C++, C++ | Hard |
| 777 | 在LR字符串中交换相邻字符 | Python | Medium |
| 778 | 水位上升的泳池中游泳 | Python | Hard |
| 781 | 森林中的兔子 | C++ | Medium |
| 783 | 二叉搜索树节点最小距离 | C++, C++ | Easy |
| 784 | 字母大小写全排列 | C++ | Medium |
| 786 | 第 K 个最小的素数分数 | C++ | Medium |
| 787 | K 站中转内最便宜的航班⭐ | C++, C++, Rust | Medium |
| 789 | 逃脱阻碍者 | Rust | Medium |
| 793 | 阶乘函数后 K 个零 | Python | Hard |
| 797 | 所有可能的路径 | C++ | Medium |
| 805 | 数组的均值分割 | C++, C++ | Hard |
| 807 | 保持城市天际线 | Rust | Medium |
| 810 | 黑板异或游戏 | Rust | Hard |
| 812 | 最大三角形面积⭐ | Python | Easy |
| 813 | 最大平均值和的分组 | C++ | Medium |
| 815 | 公交路线 | C++, Rust, Rust | Hard |
| 829 | 连续整数求和 | C++ | Hard |
| 832 | 翻转图像 | C++ | Easy |
| 837 | 新 21 点 | C++ | Medium |
| 839 | 相似字符串组 | Python | Hard |
| 841 | 钥匙和房间 | Python | Medium |
| 843 | 猜猜这个单词 | Python | Hard |
| 850 | 矩形面积 II | C++, C++, C++, Python, Rust | Hard |
| 852 | 山脉数组的峰顶索引 | C++ | Easy |
| 855 | 考场就座 | Rust | Medium |
| 862 | 和至少为 K 的最短子数组⭐ | C++, Rust | Hard |
| 863 | 二叉树中所有距离为 K 的结点 | C++ | Medium |
| 865 | 具有所有最深节点的最小子树 | C++ | Medium |
| 866 | 回文素数 | C++, C++, C++ | Medium |
| 867 | 转置矩阵 | C++ | Easy |
| 872 | 叶子相似的树 | C++ | Easy |
| 873 | 最长的斐波那契子序列的长度 | C++, Rust | Medium |
| 875 | 爱吃香蕉的珂珂 | C++ | Medium |
| 876 | 链表的中间结点 | C++ | Easy |
| 877 | 石子游戏⭐ | Python | Medium |
| 879 | 盈利计划⭐ | C++ | Hard |
| 881 | 救生艇 | Rust | Medium |
| 886 | 可能的二分法⭐ | Python | Medium |
| 887 | 鸡蛋掉落⭐ | C++, Go | Hard |
| 888 | 公平的糖果交换 | C++ | Easy |
| 889 | 根据前序和后序遍历构造二叉树 | C++ | Medium |
| 894 | 所有可能的满二叉树⭐ | C++ | Medium |
| 895 | 最大频率栈 | Python | Hard |
| 896 | 单调数列 | C++ | Easy |
| 897 | 递增顺序搜索树 | C++ | Easy |
| 899 | 有序队列⭐ | Python | Hard |
| 901 | 股票价格跨度 | C++, Rust, Rust | Medium |
| 907 | 子数组的最小值之和 | Python | Medium |
| 908 | 最小差值 I | Rust | Easy |
| 909 | 蛇梯棋 | Rust | Medium |
| 910 | 最小差值 II⭐ | C++, Rust | Medium |
| 911 | 在线选举 | C++ | Medium |
| 912 | 排序数组 | C++, Rust, Rust | Medium |
| 913 | 猫和老鼠⭐ | C++ | Hard |
| 918 | 环形子数组的最大和⭐ | C++, Rust | Medium |
| 919 | 完全二叉树插入器 | C++ | Medium |
| 926 | 将字符串翻转到单调递增 | C++ | Medium |
| 930 | 和相同的二元子数组 | Rust | Medium |
| 938 | 二叉搜索树的范围和 | C++, Rust | Easy |
| 940 | 不同的子序列 II | Python | Hard |
| 942 | 增减字符串匹配⭐ | C++ | Easy |
| 944 | 删列造序 | C++ | Easy |
| 946 | 验证栈序列⭐ | C++ | Medium |
| 947 | 移除最多的同行或同列石头 | C++, C++ | Medium |
| 953 | 验证外星语词典 | C++ | Easy |
| 958 | 二叉树的完全性检验 | C++, C++ | Medium |
| 968 | 监控二叉树 | C++, C++ | Hard |
| 971 | 翻转二叉树以匹配先序遍历 | C++ | Medium |
| 973 | 最接近原点的 K 个点 | C++ | Medium |
| 975 | 奇偶跳 | C++ | Hard |
| 978 | 最长湍流子数组 | C++ | Medium |
| 980 | 不同路径 III⭐ | Python | Hard |
| 981 | 基于时间的键值存储 | C++, C++, Rust | Medium |
| 982 | 按位与为零的三元组 | Python | Hard |
| 986 | 区间列表的交集 | C++, Python | Medium |
| 987 | 二叉树的垂序遍历 | C++ | Hard |
| 989 | 数组形式的整数加法 | Rust | Easy |
| 992 | K 个不同整数的子数组 | C++, C++, Python | Hard |
| 993 | 二叉树的堂兄弟节点 | C++ | Easy |
| 994 | 腐烂的橘子 | Python | Medium |
| 995 | K 连续位的最小翻转次数 | C++, Python | Hard |
| 999 | 可以被一步捕获的棋子数 | Rust | Easy |
| 1002 | 查找共用字符 | C++ | Easy |
| 1004 | 最大连续1的个数 III⭐ | C++, C++, Python | Medium |
| 1006 | 笨阶乘 | C++ | Medium |
| 1009 | 十进制整数的反码 | C++ | Easy |
| 1011 | 在 D 天内送达包裹的能力⭐ | C++ | Medium |
| 1021 | 删除最外层的括号⭐ | C++, Python | Easy |
| 1025 | 除数博弈 | C++ | Easy |
| 1027 | 最长等差数列 | C++, C++ | Medium |
| 1028 | 从先序遍历还原二叉树 | C++ | Hard |
| 1032 | 字符流⭐ | C++, C++ | Hard |
| 1033 | 移动石子直到连续 | C++ | Medium |
| 1034 | 边界着色 | C++ | Medium |
| 1035 | 不相交的线 | Rust | Medium |
| 1038 | 从二叉搜索树到更大和树⭐ | C++, C++ | Medium |
| 1040 | 移动石子直到连续 II⭐ | Python | Medium |
| 1043 | 分隔数组以得到最大和 | C++ | Medium |
| 1044 | 最长重复子串 | C++ | Hard |
| 1046 | 最后一块石头的重量 | C++ | Easy |
| 1047 | 删除字符串中的所有相邻重复项 | C++, C++, C++, Python, Rust | Easy |
| 1048 | 最长字符串链 | C++ | Medium |
| 1049 | 最后一块石头的重量 II⭐ | C++ | Medium |
| 1052 | 爱生气的书店老板 | C++ | Medium |
| 1053 | 交换一次的先前排列 | C++, C++, C++ | Medium |
| 1074 | 元素和为目标值的子矩阵数量 | C++, Python, Rust | Hard |
| 1089 | 复写零 | C++ | Easy |
| 1092 | 最短公共超序列⭐ | C++ | Hard |
| 1095 | 山脉数组中查找目标值 | C++ | Hard |
| 1104 | 二叉树寻路 | C++ | Medium |
| 1109 | 航班预订统计 | Rust | Medium |
| 1114 | 按序打印⭐ | C++, C++, C++, Python, Python, Python | Easy |
| 1115 | 交替打印 FooBar | C++, C++ | Medium |
| 1116 | 打印零与奇偶数 | C++ | Medium |
| 1117 | H2O 生成 | C++ | Medium |
| 1122 | 数组的相对排序 | C++, Rust | Easy |
| 1123 | 最深叶节点的最近公共祖先⭐ | C++, C++ | Medium |
| 1128 | 等价多米诺骨牌对的数量 | C++ | Easy |
| 1137 | 第 N 个泰波那契数 | Rust | Easy |
| 1140 | 石子游戏 II | Python | Medium |
| 1143 | 最长公共子序列 | C++, C++ | Medium |
| 1155 | 掷骰子的N种方法 | C++, Python | Medium |
| 1178 | 猜字谜⭐ | C++, C++, Python | Hard |
| 1190 | 反转每对括号间的子串 | C++ | Medium |
| 1195 | 交替打印字符串 | C++ | Medium |
| 1201 | 丑数 III | Rust | Medium |
| 1208 | 尽可能使字符串相等 | C++, Python | Medium |
| 1217 | 玩筹码 | Python, Rust | Easy |
| 1218 | 最长定差子序列 | C++ | Medium |
| 1221 | 分割平衡字符串 | C++ | Easy |
| 1226 | 哲学家进餐⭐ | C++, C++, C++ | Medium |
| 1227 | 飞机座位分配概率 | Python | Medium |
| 1237 | 找出给定方程的正整数解 | C++ | Medium |
| 1238 | 循环码排列 | C++ | Medium |
| 1239 | 串联字符串的最大长度 | C++, Rust | Medium |
| 1262 | 可被三整除的最大和 | C++ | Medium |
| 1269 | 停在原地的方案数 | C++, Rust | Hard |
| 1272 | 删除区间 | Python | Medium |
| 1277 | 统计全为 1 的正方形子矩阵 | C++ | Medium |
| 1288 | 删除被覆盖区间⭐ | C++ | Medium |
| 1289 | 下降路径最小和 II⭐ | C++, Python | Hard |
| 1302 | 层数最深叶子节点的和 | C++ | Medium |
| 1306 | 跳跃游戏 III | C++ | Medium |
| 1310 | 子数组异或查询 | Rust | Medium |
| 1319 | 连通网络的操作次数 | C++, Python | Medium |
| 1325 | 删除给定值的叶子节点 | C++ | Medium |
| 1337 | 矩阵中战斗力最弱的 K 行 | Rust | Easy |
| 1340 | 跳跃游戏 V⭐ | C++ | Hard |
| 1345 | 跳跃游戏 IV | C++, Rust | Hard |
| 1352 | 最后 K 个数的乘积 | C++ | Medium |
| 1353 | 最多可以参加的会议数目 | C++ | Medium |
| 1363 | 形成三的最大倍数 | C++ | Hard |
| 1379 | 找出克隆二叉树中的相同节点 | C++ | Medium |
| 1390 | 四因数 | Rust | Medium |
| 1402 | 做菜顺序 | Rust | Hard |
| 1405 | 最长快乐字符串 | C++ | Medium |
| 1406 | 石子游戏 III | Python | Hard |
| 1409 | 查询带键的排列 | C++, C++ | Medium |
| 1414 | 和为 K 的最少斐波那契数字数目 | Python | Medium |
| 1418 | 点菜展示表 | Rust | Medium |
| 1423 | 可获得的最大点数 | Python | Medium |
| 1436 | 旅行终点站 | Python | Easy |
| 1438 | 绝对差不超过限制的最长连续子数组 | C++ | Medium |
| 1439 | 有序矩阵中的第 k 个最小数组和⭐ | C++, C++, C++ | Hard |
| 1442 | 形成两个异或相等数组的三元组数目⭐ | C++ | Medium |
| 1448 | 统计二叉树中好节点的数目 | C++ | Medium |
| 1449 | 数位成本和为目标值的最大数字 | C++ | Hard |
| 1456 | 定长子串中元音的最大数目 | C++ | Medium |
| 1473 | 粉刷房子 III | Python, Rust | Hard |
| 1482 | 制作 m 束花所需的最少天数 | C++, Rust | Medium |
| 1483 | 树节点的第 K 个祖先 | C++ | Hard |
| 1486 | 数组异或操作 | C++ | Easy |
| 1489 | 找到最小生成树里的关键边和伪关键边 | C++, C++ | Hard |
| 1498 | 满足条件的子序列数目⭐ | C++ | Medium |
| 1503 | 所有蚂蚁掉下来前的最后一刻 | Python | Medium |
| 1510 | 石子游戏 IV | C++ | Hard |
| 1563 | 石子游戏 V | C++ | Hard |
| 1567 | 乘积为正数的最长子数组长度 | Rust | Medium |
| 1579 | 保证图可完全遍历 | C++ | Hard |
| 1583 | 统计不开心的朋友 | Rust | Medium |
| 1588 | 所有奇数长度子数组的和⭐ | Rust | Easy |
| 1590 | 使数组和能被 P 整除 | Rust | Medium |
| 1600 | 王位继承顺序 | C++ | Medium |
| 1603 | 设计停车系统 | C++ | Easy |
| 1611 | 使整数变为 0 的最少操作次数 | C++ | Hard |
| 1622 | 奇妙序列⭐ | Python, Python | Hard |
| 1630 | 等差子数组 | C++ | Medium |
| 1631 | 最小体力消耗路径 | C++, Python | Medium |
| 1646 | 获取生成数组中的最大值 | Rust | Easy |
| 1654 | 到家的最少跳跃次数⭐ | C++, Python | Medium |
| 1658 | 将 x 减到 0 的最小操作数 | Python | Medium |
| 1669 | 合并两个链表 | C++ | Medium |
| 1686 | 石子游戏 VI⭐ | Python | Medium |
| 1690 | 石子游戏 VII | C++ | Medium |
| 1696 | 跳跃游戏 VI | C++, C++ | Medium |
| 1703 | 得到连续 K 个 1 的最少相邻交换次数 | C++ | Hard |
| 1707 | 与数组中元素的最大异或值⭐ | C++, C++, Rust | Hard |
| 1711 | 大餐计数 | Rust | Medium |
| 1713 | 得到子序列的最少操作次数 | C++, Rust | Hard |
| 1720 | 解码异或后的数组 | Rust | Easy |
| 1723 | 完成所有工作的最短时间⭐ | C++, C++, Rust | Hard |
| 1734 | 解码异或后的排列 | C++, Rust | Medium |
| 1736 | 替换隐藏数字得到的最晚时间 | Rust | Easy |
| 1738 | 找出第 K 大的异或坐标值 | C++ | Medium |
| 1743 | 从相邻元素对还原数组 | Rust | Medium |
| 1744 | 你能在你最喜欢的那天吃到你最喜欢的糖果吗? | C++, Rust | Medium |
| 1745 | 回文串分割 IV | C++ | Hard |
| 1749 | 任意子数组和的绝对值的最大值 | C++ | Medium |
| 1753 | 移除石子的最大得分 | C++ | Medium |
| 1754 | 构造字典序最大的合并字符串 | C++ | Medium |
| 1755 | 最接近目标值的子序列和 | C++, C++, Python, Python | Hard |
| 1763 | 最长的美好子字符串 | C++ | Easy |
| 1765 | 地图中的最高点 | C++ | Medium |
| 1787 | 使所有区间的异或结果为零⭐ | C++ | Hard |
| 1791 | 找出星型图的中心节点 | C++, Rust | Easy |
| 1813 | 句子相似性 III | Python | Medium |
| 1814 | 统计一个数组中好对子的数目 | Rust | Medium |
| 1818 | 绝对差值和 | Rust | Medium |
| 1819 | 序列中不同最大公约数的数目⭐ | C++ | Hard |
| 1823 | 找出游戏的获胜者 | C++ | Medium |
| 1824 | 最少侧跳次数 | C++ | Medium |
| 1825 | 求出 MK 平均值 | C++ | Hard |
| 1828 | 统计一个圆中点的数目 | Rust | Medium |
| 1833 | 雪糕的最大数量 | C++ | Medium |
| 1838 | 最高频元素的频数 | Rust | Medium |
| 1846 | 减小和重新排列数组后的最大元素 | Rust | Medium |
| 1856 | 子数组最小乘积的最大值⭐ | C++ | Medium |
| 1865 | 找出和为指定值的下标对 | Rust | Medium |
| 1871 | 跳跃游戏 VII | C++ | Medium |
| 1877 | 数组中最大数对和的最小值⭐ | Rust | Medium |
| 1884 | 鸡蛋掉落-两枚鸡蛋 | Rust | Medium |
| 1893 | 检查是否区域内所有整数都被覆盖 | Rust | Easy |
| 1894 | 找到需要补充粉笔的学生编号 | Rust | Medium |
| 1906 | 查询差绝对值的最小值 | Rust, Rust | Medium |
| 1915 | 最美子字符串的数目 | Rust | Medium |
| # | Title | Solution | Difficulty |
|---|---|---|---|
| 面试题 01.04 | 回文排列 | C++ | Easy |
| 面试题 01.05 | 一次编辑 | C++ | Medium |
| 面试题 01.07 | 旋转矩阵 | C++, Rust | Medium |
| 面试题 02.04 | 分割链表 | C++ | Medium |
| 面试题 02.05 | 链表求和 | C++ | Medium |
| 面试题 02.08 | 环路检测 | C++ | Medium |
| 面试题 03.03 | 堆盘子 | C++ | Medium |
| 面试题 03.05 | 栈排序 | C++, Rust | Medium |
| 面试题 04.01 | 节点间通路 | Python | Medium |
| 面试题 04.03 | 特定深度节点链表 | C++ | Medium |
| 面试题 04.05 | 合法二叉搜索树 | C++ | Medium |
| 面试题 04.06 | 后继者 | C++, C++ | Medium |
| 面试题 04.10 | 检查子树 | C++, C++, C++ | Medium |
| 面试题 04.12 | 求和路径⭐ | C++, C++ | Medium |
| 面试题 05.02 | 二进制数转字符串 | C++ | Medium |
| 面试题 05.04 | 下一个数 | C++ | Medium |
| 面试题 05.08 | 绘制直线 | C++ | Medium |
| 面试题 08.02 | 迷路的机器人 | Python, Rust | Medium |
| 面试题 08.04 | 幂集 | Python, Rust | Medium |
| 面试题 08.05 | 递归乘法 | C++ | Medium |
| 面试题 08.07 | 无重复字符串的排列组合 | C++, C++ | Medium |
| 面试题 08.08 | 有重复字符串的排列组合 | C++, C++, C++ | Medium |
| 面试题 08.09 | 括号⭐ | Python, Rust | Medium |
| 面试题 08.11 | 硬币⭐ | Rust | Medium |
| 面试题 08.12 | 八皇后 | Python | Hard |
| 面试题 08.14 | 布尔运算⭐ | C++ | Medium |
| 面试题 10.02 | 变位词组 | Rust | Medium |
| 面试题 10.03 | 搜索旋转数组 | C++ | Medium |
| 面试题 10.09 | 排序矩阵查找 | C++ | Medium |
| 面试题 10.10 | 数字流的秩⭐ | C++, C++ | Medium |
| 面试题 10.11 | 峰与谷 | C++, Rust | Medium |
| 面试题 16.02 | 单词频率 | C++ | Medium |
| 面试题 16.06 | 最小差 | C++ | Medium |
| 面试题 16.13 | 平分正方形 | C++ | Medium |
| 面试题 16.16 | 部分排序 | C++ | Medium |
| 面试题 16.20 | T9键盘 | Rust | Medium |
| 面试题 16.21 | 交换和 | C++ | Medium |
| 面试题 16.24 | 数对和 | C++ | Medium |
| 面试题 16.25 | LRU 缓存 | C++ | Medium |
| 面试题 16.26 | 计算器 | C++ | Medium |
| 面试题 17.05 | 字母与数字 | C++, Rust | Medium |
| 面试题 17.07 | 婴儿名字 | Python | Medium |
| 面试题 17.08 | 马戏团人塔⭐ | C++, Rust | Medium |
| 面试题 17.09 | 第 k 个数 | C++ | Medium |
| 面试题 17.10 | 主要元素 | Rust | Easy |
| 面试题 17.11 | 单词距离⭐ | Rust | Medium |
| 面试题 17.13 | 恢复空格 | C++, Rust | Medium |
| 面试题 17.15 | 最长单词⭐ | Rust | Medium |
| 面试题 17.17 | 多次搜索 | C++, Rust | Medium |
| 面试题 17.18 | 最短超串 | Python | Medium |
| 面试题 17.19 | 消失的两个数字⭐ | C++, C++ | Hard |
| 面试题 17.22 | 单词转换 | Python | Medium |
| 面试题 17.23 | 最大黑方阵⭐ | C++, Rust | Medium |
| 面试题 17.24 | 最大子矩阵 | C++ | Hard |
| # | Title | Solution | Difficulty |
|---|---|---|---|
| LCP 03 | 机器人大冒险 | C++, C++ | Medium |
| LCP 07 | 传递信息 | C++ | Easy |
| LCP 08 | 剧情触发时间 | C++, C++, Rust | Medium |
| LCP 09 | 最小跳跃次数 | C++, Rust | Hard |
| LCP 14 | 切分数组 | C++ | Hard |
| LCP 18 | 早餐组合 | C++, C++ | Easy |
| LCP 23 | 魔术排列 | C++ | Medium |
| LCP 34 | 二叉树染色⭐ | C++ | Medium |
| LCP 35 | 电动车游城市⭐ | C++ | Hard |
| LCP 36 | 最多牌组数⭐ | C++ | Hard |
| # | Title | Solution | Difficulty |
|---|---|---|---|
| 剑指 Offer 03 | 数组中重复的数字 | C++ | Easy |
| 剑指 Offer 11 | 旋转数组的最小数字 | C++ | Easy |
| 剑指 Offer 12 | 矩阵中的路径 | C++ | Medium |
| 剑指 Offer 15 | 二进制中1的个数 | C++ | Easy |
| 剑指 Offer 22 | 链表中倒数第k个节点 | C++ | Easy |
| 剑指 Offer 26 | 树的子结构 | C++ | Medium |
| 剑指 Offer 32 - I | 从上到下打印二叉树 | C++ | Medium |
| 剑指 Offer 36 | 二叉搜索树与双向链表⭐ | C++, C++ | Medium |
| 剑指 Offer 37 | 序列化二叉树 | C++, C++ | Hard |
| 剑指 Offer 38 | 字符串的排列 | C++, C++, Python | Medium |
| 剑指 Offer 44 | 数字序列中某一位的数字 | C++ | Medium |
| 剑指 Offer 45 | 把数组排成最小的数 | C++ | Medium |
| 剑指 Offer 46 | 把数字翻译成字符串 | C++ | Medium |
| 剑指 Offer 47 | 礼物的最大价值 | C++ | Medium |
| 剑指 Offer 48 | 最长不含重复字符的子字符串 | C++ | Medium |
| 剑指 Offer 51 | 数组中的逆序对 | C++ | Hard |
| 剑指 Offer 53 - I | 在排序数组中查找数字 I | Rust | Easy |
| 剑指 Offer 59 - I | 滑动窗口的最大值 | C++ | Hard |
| 剑指 Offer 59 - II | 队列的最大值 | C++ | Medium |
| 剑指 Offer 60 | n个骰子的点数 | C++ | Medium |
| 剑指 Offer 68 - I | 二叉搜索树的最近公共祖先 | C++, C++ | Easy |
| # | Title | Solution | Tags |
|---|---|---|---|
| 1037 | sjtu1037 | C++ | 贪心算法, 快排序+堆排序 |
| 1038 | sjtu1038 | C++ | 约瑟夫环问题 |
| 1051 | sjtu1051 | C++ | [模拟], [单链表] |
| 1053 | sjtu1053 | C++ | (稀疏数组) |
| 1112 | sjtu1112 | C++ | 堆, 堆排序, extract_max(), push(x), max_heapify()操作 |
| 1215 | sjtu1215 | C++ | 实现一个优先级队列 |
| 1216 | sjtu1216 | C++ | 实现一个优先级队列 |
| 1218 | sjtu1218 | C++ | 集合 |
| 1228 | sjtu1228 | C++ | Matrix Sum: 求奇子阵的总数 |
| 1233 | sjtu1233 | C++ | DFS求从某一顶点出发到长度为2的简单路径的数目 |
| 1234 | sjtu1234 | C++ | Kruskal 最小生成树算法 |
| 1235 | sjtu1235 | C++ | Dijkstra 单源最短路径算法 |
| 1236 | sjtu1236 | C++ | Bellman-Ford 单源最短路径算法 |
| 1237 | sjtu1237 | C++ | Topological Sort 拓扑排序 |
| 1245 | sjtu1245 | C++ | stack, Token |
| 1377 | sjtu1377 | C++ | 长度为N的数列 A[1..N] , 这N个数字恰好是1...N的一个排列, 这个序列的中值为B |
| 1541 | sjtu1541 | C++ | 区间最大问题 |
| 1558 | sjtu1558 | C++ | 求移除哪几个数后,使得最长连续相同数的序列长度最长 |
| 1564 | sjtu1564 | C++ | [DFS] |
| 1593 | sjtu1593 | C++ | struct Mouse |
| 1602 | sjtu1602 | C++ | 归并排序的归并操作 |
| 1605 | sjtu1605 | C++, C++, C++ | 括号栈:提供 全部 O(1) 的 push, pop, top, query(是否为合法括号栈) |
| 1607 | sjtu1607 | C++ | 队列, 队列的队列, 延迟哈希 |
| 1634 | sjtu1634 | C++ | 统计堆排序, 归并排序, 快排的比较次数 |
| 1990 | sjtu1990 | C++ | 问询:最小值位置 |
| 1994 | sjtu1994 | C++ | dfs, 邻接数组, 求连通分量的个数 |
| 1999 | sjtu1999 | C++ | 旅行商问题-TSP |
| 3008 | sjtu3008 | C++ | 迷宫 |
| 3020 | sjtu3020 | C++ | 哈夫曼树, K叉, 计算最终的带权路径长度(WPL) |
| 4011 | sjtu4011 | C++ | A[h+1, K] = A[h, 1] |
| 4012 | sjtu4012 | C++ | 给定一组数(果子), 每次合并两个数(两堆果子), 消耗的体力为两个数之和 |
| 4057 | sjtu4057 | C++ | 最长回文字符串 |
| 4082 | sjtu4082 | C++ | 使用并查集 |
| 4096 | sjtu4096 | C++ | 搬箱子, 模拟, 数组实现双向链表, 计算双向链表的头尾 |
| 4119 | sjtu4119 | C++ | 求一棵树中到三个节点距离之和最短的节点 |
| 4171 | sjtu4171 | C++ | 给定 A[1..N], B[1..N], 求两数列的N^2种和中最小的前N项 |
| 4172 | sjtu4172 | C++ | 0, 1数组 |
| 4173 | sjtu4173 | C++ | 二分搜索,滑动窗口 O(N log L) |
| 4174 | sjtu4174 | C++ | [排序][贪心] |
| 4184 | sjtu4184 | C++ | 通过dfs遍历全树并记录每个节点所对应的子树的规模 |
| 4188 | sjtu4188 | C++ | 字符串哈希 |
| 4189 | sjtu4189 | C++, C++ | 找到所有这样的节点,满足断开该节点后,子树规模的最大值不超过N/2 |
| 4190 | sjtu4190 | C++, C++, C++ | 问询区间[1..2k+1]的第k大值(即中位数) |
| 4370 | sjtu4370 | C++ | 最小数栈:提供O(1)时间复杂度的push,pop,top,getMin操作 |
| # | Title | Solution | Tags |
|---|---|---|---|
| Lesson 2 Arrays | CyclicRotation | C++ | Rotate an array to the right by a given number |
| Lesson 4 Counting Elements | FrogRiverOne | Python | Find the earliest time when a frog can jump |
| Lesson 4 Counting Elements | MaxCounters | C++ | Calculate the values of counters after applying |
| Lesson 5 Prefix Sums | CountDiv | C++ | Compute number of integers divisible by k |
| Lesson 5 Prefix Sums | GenomicRangeQuery | C++ | Find the minimal nucleotide from a range |
| Lesson 5 Prefix Sums | MinAvgTwoSlice | C++ | Find the minimal average of any slice containing |
| Lesson 5 Prefix Sums | PassingCars | C++ | Count the number of passing cars on the road. |
| Lesson 6 Sorting | Distinct | C++, C++ | Compute number of distinct values in an array. |
| Lesson 6 Sorting | NumberOfDiscIntersections | C++ | Compute the number of intersections in a |
| Lesson 6 Sorting | Triangle | C++, C++ | Determine whether a triangle can be built |
| Lesson 7 Stacks and Queues | Fish | C++ | N voracious fish are moving along a river. |
| Lesson 7 Stacks and Queues | Nesting | C++ | Determine whether a given string of parentheses |
| Lesson 7 Stacks and Queues | StoneWall | C++ | Cover "Manhattan skyline" using the minimum |
| Lesson 8 Leader | Dominator | C++ | Find an index of an array such that its value |
| Lesson 8 Leader | EquiLeader | C++ | Find the index S such that the leaders of |
| Lesson 9 Maximum slice problem | MaxDoubleSliceSum | C++ | Find the maximal sum of any double slice. |
| Lesson 10 Prime and composite numbers | CountFactors | C++ | Count factors of given number n. |
| Lesson 10 Prime and composite numbers | Flags | C++ | Find the maximum number of flags that can |
| Lesson 10 Prime and composite numbers | MinPerimeterRectangle | C++ | Find the minimal perimeter of any rectangle |
| Lesson 10 Prime and composite numbers | Peaks | C++ | Divide an array into the maximum number of |
| Lesson 11 Sieve of Eratosthenes | CountNonDivisible | C++ | Calculate the number of elements of an array |
| Lesson 11 Sieve of Eratosthenes | CountSemiprimes | C++ | Count the semiprime numbers in the given |
| Lesson 12 Euclidean algorithm | ChocolatesByNumbers | C++ | There are N chocolates in a circle. Count |
| Lesson 12 Euclidean algorithm | CommonPrimeDivisors | C++ | Check whether two numbers have the same prime |
| Lesson 13 Fibonacci numbers | FibFrog | C++ | Count the minimum number of jumps required |
| Lesson 13 Fibonacci numbers | Ladder | C++ | Count the number of different ways of climbing |
| Lesson 14 Binary search algorithm | MinMaxDivision | C++ | Divide array A into K blocks and minimize |
| Lesson 14 Binary search algorithm | NailingPlanks | C++, C++ | Count the minimum number of nails that allow |
| Lesson 15 Caterpillar method | AbsDistinct | C++ | Compute number of distinct absolute values |
| Lesson 15 Caterpillar method | CountDistinctSlices | C++ | Count the number of distinct slices (containing |
| Lesson 15 Caterpillar method | CountTriangles | C++ | Count the number of triangles that can be |
| Lesson 15 Caterpillar method | MinAbsSumOfTwo | C++ | Find the minimal absolute value of a sum |
| Lesson 16 Greedy algorithms | MaxNonoverlappingSegments | C++ | Find a maximal set of non-overlapping segments. |
| Lesson 16 Greedy algorithms | TieRopes | C++ | Tie adjacent ropes to achieve the maximum |
| Lesson 17 Dynamic programming | MinAbsSum | C++, C++, C++ | Given array of integers, find the lowest |
| Lesson 17 Dynamic programming | NumberSolitaire | C++ | In a given array, find the subset of maximal |