# | 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 |