刻意训练学习手册
记录学习过程
2021.11.30
leetcode 206.反转链表
leetcode 92.反转链表II
leetcode 206.环形链表
leetcode 206.环形链表II
leetcode 202.快乐数
03.28
- 三数之和的多种可能性
- 汉明距离总和
- 交替位二进制数
03.29
- 最长公共前缀
- leetcode 最接近的三数之和
- 复习 三数之和的多种可能性
03.30
- 最长公共前缀
- 461汉明距离
- 1606找到处理最多请求的服务器 ×
03.31
-
728.自除数
-
四数之和 ×
-
386.字典序排数
-
字典序的第K小数字
4月
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
- 复习田船长算法课I - offer II034 外星语言是否排序 - 033 位数组 - 12 左右两边子数组的和相等 - 415 字符串相加 - 010 和为k的子数组 |
- 415 字符串相加 | - | 开坑ts-challenges,开始ts类型体操 HelloWorld pick |
体操:readonly |
6 | 7 | 8 | 9 | 10 |
- 310最小高度树 体操:first of array tuple to object medium-last |
- 796 旋转字符串 | - 基于Vue3 vite2 ts jest element-plus pinia 搭建项目 - 429 N叉树的层序遍历 - 1609奇偶树 |
- | - |
11 | 12 | 13 | 14 | 15 |
357. 统计各位数字都不同的数字个数 | - 806 写字符串需要的行数(模拟题) - 剑指 Offer 56 - I. 数组中数字出现的次数 - 剑指 Offer 56 - II. 数组中数字出现的次数 II - 剑指 Offer II 003. 前 n 个数字二进制中 1 的个数 |
380. O(1) 时间插入、删除和获取随机元素(设计) | 1672. 最富有客户的资产总量(模拟题) | 385. 迷你语法分析器 |
16 | 17 | 18 | 19 | 20 |
479. 最大回文数乘积 | 819. 最常见的单词 | 386. 字典序排数(多叉树) | 821. 字符的最短距离(二分、双指针) 复习:475. 供暖器 |
388. 文件的最长绝对路径(深度优先搜索,栈) 复习:589. N 叉树的前序遍历(使用栈的解法) |
21 | 22 | 23 | 24 | 25 |
824. 山羊拉丁文(模拟题) | 396. 旋转函数 | 复习:388. 文件的最长绝对路径 | 868. 二进制间距 6041. 多个数组求交集 6042. 统计圆内格点数目 |
398. 随机数索引 |
26 | 27 | 28 | 29 | 30 |
883. 三维形体投影面积 | 417. 太平洋大西洋水流问题 一个新坑,组件库sky-ui用来练手 |
905. 按奇偶排序数组 | 427. 建立四叉树 | 908. 最小差值 I |
5月
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
1305. 两棵二叉搜索树中的所有元素 | 591. 标签验证器 | 937. 重新排列日志文件 | 1823. 找出游戏的获胜者 | 713. 乘积小于 K 的子数组 |
6 | 7 | 8 | 9 | 10 |
933. 最近的请求次数 | 433. 最小基因变化 | 442. 数组中重复的数据 | 942. 增减字符串匹配 | 1728. 猫和老鼠 II |
11 | 12 | 13 | 14 | 15 |
449. 序列化和反序列化二叉搜索树 | 944. 删列造序 | - | - | - |
16 | 17 | 18 | 19 | 20 |
- | - | - | - | - |
21 | 22 | 23 | 24 | 25 |
- | - | - | - | - |
26 | 27 | 28 | 29 | 30 |
- | - | - | - | - |
6月
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
473. 火柴拼正方形 | 450. 删除二叉搜索树中的节点 | 829. 连续整数求和 | 929. 独特的电子邮件地址 | 478. 在圆内随机生成点 |
6 | 7 | 8 | 9 | 10 |
732. 我的日程安排表 III | 875. 爱吃香蕉的珂珂 | 1037. 有效的回旋镖 | 497. 非重叠矩形中的随机点 | 730. 统计不同回文子序列 |
11 | 12 | 13 | 14 | 15 |
926. 将字符串翻转到单调递增 | 890. 查找和替换模式 | 1051. 高度检查器 | 498. 对角线遍历 | 719. 找出第 K 小的数对距离 |
16 | 17 | 18 | 19 | 20 |
532. 数组中的 k-diff 数对 | 1089. 复写零 | 剑指 Offer II 029. 排序的循环链表 | 508. 出现次数最多的子树元素和 | 715. Range 模块 线段树 |
21 | 22 | 23 | 24 | 25 |
1108. IP 地址无效化 | 513. 找树左下角的值 bfs && dfs | 30. 串联所有单词的子串 | 515. 在每个树行中找最大值 bfs && dfs | 剑指 Offer II 091. 粉刷房子 动态规划 |
26 | 27 | 28 | 29 | 30 |
710. 黑名单中的随机数 | 522. 最长特殊序列 II | 324. 摆动排序 II | 535. TinyURL 的加密与解密 随机化 | 1175. 质数排列 模拟 |
7月
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
241. 为运算表达式设计优先级 递归+分治 509. 斐波那契数 矩阵快速幂解法 |
871. 最低加油次数 dp | 556. 下一个更大元素 III | 1200. 最小绝对差 排序 | 729. 我的日程安排表 I |
6 | 7 | 8 | 9 | 10 |
736. Lisp 语法解析 | 648. 单词替换 复习 208. 实现 Trie (前缀树) |
1217. 玩筹码 脑筋急转弯 | - | - |
11 | 12 | 13 | 14 | 15 |
- | - | - | - | - |
16 | 17 | 18 | 19 | 20 |
- | - | - | - | - |
21 | 22 | 23 | 24 | 25 |
- | 复习 31. 下一个排列 47. 全排列 II |
1184. 公交站间的距离 | 919. 完全二叉树插入器 | |
26 | 27 | 28 | 29 | 30 |
1206. 设计跳表 1447. 最简分数 878. 第 N 个神奇数字 372. 超级次方 |
592. 分数加减运算 | 1331. 数组序号转换 | 593. 有效的正方形 | 952. 按公因数计算最大组件大小 |
31 | ||||
1161. 最大层内元素和 |
08.01
- 生成每种字符都是奇数个的字符串 模拟
- 段式回文 模拟
- 分割回文串 II 动态规划
08.02
- 丑数 III 二分
- 设计循环队列 设计
- 多数元素 II 摩尔投票
- 序列中不同最大公约数的数目 枚举结果
剑指 Offer II 029. 排序的循环链表 边界处理
08.03
- 有序队列 脑筋急转弯
- 将字符串翻转到单调递增 分割位置
- 最大连续 1 的个数 III 滑动窗口
08.04
- 非递增顺序的最小子序列 LCP 02. 分式化简
- 两个非重叠子数组的最大和
- IPO
- 转换字符串的最少操作次数
08.05
- 在二叉树中增加一行
08.06
- 数组中的字符串匹配
08.07
- 函数的独占时间
08.08
- 特殊的二进制序列 将数组排序的最少替换次数
- 任务调度器 II
- 算术三元组的数目
- 最长理想子序列
- 检查数组是否存在有效划分
08.09
- 逐步求和得到正数的最小值
- 股票平滑下跌阶段的数目
- 解决智力问题
- 最少交换次数来组合所有的 1 II
- 链表最大孪生和
- 从二叉树一个节点到另一个节点每一步的方向
- 全部开花的最早一天
- 子数组范围和
08.10
- 求解方程
- 从先序遍历还原二叉树
- 从给定原材料中找到所有可以做出的菜
- 相同元素的间隔之和
- 得到目标值的最少行动次数
0811
- 重新格式化字符串
- 连接棒材的最低费用
- 验证前序遍历序列二叉搜索树
- 实现一个魔法字典
0811
- 用户分组 32 面试题 17.17. 多次搜索 字典树应用
- 验证 IP 地址 练习边界判断,业务代码
- 最长有效括号
自顶向下学React源码 第一章 理念篇 1.1 如何学习react源码 1.2 设计理念 1.3 架构演进史 1.4 React新架构Fiber 1.5 Fiber架构的工作原理 1.6 如何调试源码 1.7 源码目录结构
0815
- 格雷编码 二进制
- 设计循环双端队列 取余操作
- 最小覆盖子串
- 求解方程 表达式化简
js实现哈夫曼编码
0816
- 航班预订统计 原数组上的区间操作等级于差分数组上的单点操作
- 区域和检索 - 数组可修改
面试题 10.10. 数字流的秩 计数排序 - 子数组异或查询 异或运算的性质
- 查询带键的排列 转化为树状数组
0817
- 寻找重复数
- 层数最深叶子节点的和
- 字符串的最大公因子
- 质数排列
0818
- 二叉树的垂序遍历
- 克隆图
- 为运算表达式设计优先级
- 实现 Trie (前缀树)
- 最大相等频率 剑指 Offer II 067. 最大的异或
- 搜索推荐系统
- 字典序的第K小数字
0819
- 克隆图
- 字典序的第K小数字
- 二叉树的垂序遍历
- 在既定时间做作业的学生人数
0820
- 最大二叉树
0821
- 检查单词是否为句中其他单词的前缀
0822
- 输出二叉树 bfs
- 有效三角形的个数 排序+双指针
0823
- 变为棋盘
0824
- 通过翻转子数组使两个数组相等
0825
- 找到 K 个最接近的元素
0826
- 数组中两元素的最大乘积
0827
- 二叉树最大宽度
0828
- 阶乘函数后 K 个零
0829
- 重新排列数组
0830
- 最大二叉树 II
0831
- 验证栈序列
0901
- 基本计算器 III 剑指 Offer 56 - I. 数组中数字出现的次数 剑指 Offer 56 - II. 数组中数字出现的次数 II 剑指 Offer II 003. 前 n 个数字二进制中 1 的个数 剑指 Offer II 005. 单词长度的最大乘积 剑指 Offer II 010. 和为 k 的子数组 剑指 Offer II 011. 0 和 1 个数相同的子数组 剑指 Offer II 012. 左右两边子数组的和相等 剑指 Offer II 033. 变位词组 剑指 Offer II 034. 外星语言是否排序 剑指 Offer II 035. 最小时间差 剑指 Offer II 036. 后缀表达式
0901
- 商品折扣后的最终价格 单调栈
0902
- 最长同值路径 dfs
0903
- 最长数对链 贪心
0904
- 二进制矩阵中的特殊位置 模拟
0905
- 寻找重复的子树 哈希+dfs
0906
- 统计子串中的唯一字符
0907
- 重新排列单词间的空格 模拟 剑指 Offer II 015. 字符串中的所有变位词 滑窗
0908
- 数组中的第K个最大元素 分治
- 柱状图中最大的矩形 单调栈
- 优美的排列 II 脑筋急转弯
- 接雨水 单调栈、动归 复习
0909
- 为高尔夫比赛砍树
- 连续差相同的数字
- 文件夹操作日志搜集器
0910
- 修剪二叉搜索树
0911
- 雇佣 K 名工人的最低成本
0912
- 特殊数组的特征值
0913
- 最大交换
0914
- 删除某些元素后的数组均值
- 钥匙和房间
- 腐烂的橘子
- 扫雷游戏
- 太平洋大西洋水流问题
0915
- 灯泡开关
- 灯泡开关 Ⅱ
- 最小体力消耗路径
- 单词接龙
- 获取所有钥匙的最短路径
0916
- 矩形面积 II
0917
- 两个相同字符之间的最长子字符串
0918
- 最大人工岛
0919
- 按照频率将数组升序排序 LCP 40. 心算挑战
- 最小偶倍数
- 最长的字母序连续子字符串的长度
- 反转二叉树的奇数层 层序遍历
- 字符串的前缀分数和
0920
- 划分为k个相等的子集 动规、回溯
- 情侣牵手 并查集 广搜 贪心
0921
- 相似度为 K 的字符串
0922
- 能否连接形成数组
- 统计字典序元音字符串的数目
- 可以到达的最远建筑 贪心、优先队列
- 第 K 条最小指令
0923
- 设计链表 设计
- 分发饼干
- 公平分发饼干
- 灯泡开关 Ⅱ 找规律
- 编辑距离 动规
0926 面试题 17.19. 消失的两个数字 转化
- 旋转数字 dp,数位dp(在学) -->2376. 统计特殊整数 数位dp
- 拆炸弹 滑动窗口
0927 面试题 01.02. 判定是否互为字符重排 计数
0928
- 丑数 II 容斥、二分
- 超级丑数 归并 面试题 17.09. 第 k 个数 三指针、归并
- 粉刷房子 动规
0929 面试题 01.09. 字符串轮转
- 买卖股票的最佳时机 II
- 最大子数组和 动规
- 打家劫舍 动规
- 打家劫舍 II 动规
- 打家劫舍 III 树形dp
0930 面试题 01.08. 零矩阵
- 零钱兑换
- 最低票价
1008
- 子域名访问计数
- 三等分
- 最大升序子数组和
- 优势洗牌
1010
- 最长递增子序列 II 线段树dp
- 最长递增子序列 线段树
- 使序列递增的最小交换次数 dp
- 最长理想子序列 dp
1011
- 仅执行一次字符串交换能否使两个字符串相等
- 零钱兑换
- 零钱兑换II
1012
- 链表组件
1013
- 最多能完成排序的块 复习
- 分割等和子集 DP
- 一和零 DP
- 买卖股票的最佳时机含手续费 DP
- 目标和 DP+偏移量
- 组合总和 Ⅳ DP
- 组合
- 合并K个升序链表 优先队列
- 回文链表 链表
1014
- 不同的子序列 II 动归
- 单词接龙 BFS
- 最小体力消耗路径 BFS+二分
1017
- 水果成篮
- 用栈操作构建数组
- 可能的二分法
1018
- 最大为 N 的数字组合 数位DP
- 通配符匹配 DP
- 编辑距离 DP 复习
- 正则表达式匹配 DP
1019 contest-315 contest-314
- 通配符匹配 DP 复习
- 正则表达式匹配 DP 复习
- 无法吃午餐的学生数量
1020
- 第K个语法符号 contest-313 contest-312
1021
- 好路径的数目 排序+并查集
- 子字符串的最优划分
- 将区间分为最少组数 贪心
- 股票价格跨度 单调栈
- 最长递增子序列 II 复习
contest-309 contest-308
1024
- 最长优雅子数组
- 分割数组 contest-308 contest-307
1025 contest-304 contest-303
- 最短的桥
1026 contest-58
- 和至少为 K 的最短子数组 优先队列
- 分隔链表
- 连续的子数组和 同余定理、前缀和
- 和可被 K 整除的子数组
- 连续数组
1026
- 表现良好的最长时间段
- 数组元素积的符号
1101 #214 前K名的平均数 #143 数字游戏 #177 字母图形 #153 某天是星期几 #135 X天后的日期 #191 素数距离 #203 身高排队 #125 考试结束时间 #119 昨天和明天 #378 字符串括号匹配2 #379 仓库日志 #382 报数 #384 敲七 #376 机器翻译 #287 合并果子 #566 上网统计
1102 #569 溶液模拟器 #577 讲话模式 #385 海港 #482 编辑 进制转换 #469 进制转换1 #260 进制转换 #470 最小差值 #562 找数 #565 位的交换
1103 #574 指数序列 #592 六十四进制 #564 起床困难综合症 #229 开门
1107
- 解析布尔表达式
- 网络信号最好的坐标
- 模糊坐标
- 设计 Goal 解析器
- 子数组的最小值之和
- 柱状图中最大的矩形
- 最大矩形
- 子数组最小乘积的最大值 前缀和+单调栈
1107
- 子数组最小乘积的最大值 复习
- 统计一致字符串的数目 哈希表
- 从二叉树一个节点到另一个节点每一步的方向 公共路径
- 子数组范围和 单调队列(维护区间最值) x未完成
- 全部开花的最早一天 贪心 排序
1109 牛客 NC16622 [NOIP2009]多项式输出 NC16589 [NOIP2010]机器翻译 NC16593 [NOIP2011]铺地毯 NC16438 回文日期
leetcode 764. 最大加号标志 动态规划思想
华为机试 欢乐的周末 BFS
1110 contest-92
- 具有所有最深节点的最小子树
- 回文素数 剑指 Offer 26. 树的子结构 check判断B是否匹配A的子树 剑指 Offer 68 - II. 二叉树的最近公共祖先
- 超级回文数 枚举
- 水果成篮 滑窗 数字表示种类,求种类不大于2的最长连续子数组
- 子数组范围和 单调队列(维护区间最值) 以每个元素为结尾的子数组的范围和累加
1111
- 合并二叉树 先序遍历 面试题 08.06. 汉诺塔问题 递归
- 判断字符串的两半是否相似 计数
- 最大宽度坡 单调栈、排序
- 删除字符串中的所有相邻重复项 栈
- 非重叠矩形中的随机点 随机化
- 随机数索引 随机化
- 按权重随机选择 随机化
- 链表随机节点 流式数据随机化--蓄水池抽样
- 黑名单中的随机数 随机化-哈希表
1114
- 路径总和 递归 回溯
- 路径总和 II
- 路径总和 III 树上前缀和+哈希表 contest-91
- 统计构造好字符串的方案数 动规
- 树上最大得分和路径 dfs
- 从叶结点开始的最小字符串 dfs
- 数组的均值分割 动规+位运算优化(未完成)
- 二叉树的垂序遍历 自定义排序
1115
- 卡车上的最大单元数
- 根据限制分割消息
1116
- 全局倒置与局部倒置 剑指 Offer 51. 数组中的逆序对 归并排序
1117
- 判断子序列 双指针
- 匹配子序列的单词数 字典树
1121
- 分汤
1122
- 第 N 个神奇数字 二分
- 完全平方数 动规,四平方和定理
- 合并区间 排序
- 会议室 排序
- 会议室 II 贪心
- 拼车 未完成
- 必须拿起的最小连续卡牌数 哈希表 滑动窗口
- 统计一致字符串的数目 模拟
- 自定义字符串排序 排序+哈希表
- 三除数 数学
1123 contest-226
- 盒子中小球的最大数量 模拟
- 从相邻元素对还原数组 哈希表
- 你能在你最喜欢的那天吃到你最喜欢的糖果吗? 前缀和+正难则反
- 分割回文串 动态规划
- 分割回文串 II 动态规划
- 分割回文串 III 动态规划
- 回文串分割 IV 动态规划
1124
- 区间子数组个数 单调队列
- 子数组范围和 单调队列
- 拼车 贪心、差分
- 统计定界子数组的数目 单调队列
1125
- 香槟塔 动态规划
- 情感丰富的文字 双指针
- 计算右侧小于当前元素的个数 树状数组+计数排序 归并排序+索引数组
- 区间和的个数
1128
- 翻转对 归并排序思想
- 最大平均值和的分组 动规
- 统计区间中的整数数目 学习线段树 华为机试 HJ20 密码验证合格程序(中等) 矩阵扩散 最大社交距离
1129
- 生成交替二进制字符串的最少操作数 模拟
- 子序列宽度之和 转化为对答案贡献、排序 contest-98
1130 contest-88
- 矩形面积 II 扫描线+离散化+线段树
- 最大频率栈 哈希表
1201
- 检查数组是否经排序和轮转得到 模拟
- 自定义字符串排序 计数排序
- 多米诺和托米诺平铺 动归
- 找到最近的有相同 X 或 Y 坐标的点 模拟
- 找到最高海拔 差分的前缀和是原数组
- 分割回文串 III 包含两个动态规范子问题
1202
- 移动所有球到每个盒子所需的最小操作数 dp思想 Manacher 算法 O(n)时间复杂度,预处理以每个位置作为中心的最长回文子串的长度
1205
- 最接近目标价格的甜点成本
- 所有可能的路径
- 将句子排序
- 文件夹操作日志搜集器
- 最常见的单词
- 最小差值 I 数学
- 叶子相似的树
- 二叉树的堂兄弟节点 dfs
- 非递增顺序的最小子序列
- 划分字母区间 贪心
- 统计一致字符串的数目
- 数组中紧跟 key 之后出现最频繁的数字 计数
- 沙漏的最大总和 枚举
- 旋转盒子 矩阵
- 增长的内存泄露
1206
- 字符串中不同整数的数目 双指针 https://atcoder.jp/contests/abc059/tasks/arc072_a 前缀和
- 字符串转换整数 (atoi) 模拟、自动机
- 转化时间需要的最少操作数 -X
- 移除字母异位词后的结果数组 -X
- 分糖果 II -X
- 设计一个支持增量操作的栈 栈、每个操作O(1)
- 不同整数的最少数目 排序+贪心
- 转变日期格式 模拟
- K 进制表示下的各位数字总和 进制转换
- 转换数字的最少位翻转次数 -X
- 矩阵对角线元素的和 模拟
- 银行中的激光束数量 模拟
- 找到一个数字的 K 美丽值 枚举
- 矩阵中的幸运数 枚举
1207
- 通过最少操作次数使数组的和相等 未完成
1208
- 判断国际象棋棋盘中一个格子的颜色 模拟 二进制中1的个数 分治O(1)
- 计算应缴税款总额 模拟
- 通过最少操作次数使数组的和相等 贪心+哈希表
- 奇数值单元格的数目 计数
- 统计匹配检索规则的物品数量 模拟
- 分糖果 II 暴力模拟
- 转化时间需要的最少操作数 贪心
- 移除字母异位词后的结果数组 排序
1209
- 分割回文串 III review
- 第 k 个缺失的正整数 枚举&二分
- 判断一个数字是否可以表示成三的幂的和 三进制
- 查找共用字符 哈希表
1212
- 所有子字符串美丽值之和 --计数、哈希表
- 统计好三元组 --枚举、O(n^2)前缀和、频次数组
- 盒子中小球的最大数量 --计数
- 将整数转换为两个无零整数的和 --暴力
- 找出数组中的所有孤独数字 --哈希表
- 元素计数 --模拟
- Bigram 分词 --遍历
- 按符号重排数组 --分组
- 将标题首字母大写 --模拟
- 将字符串拆分为若干长度为 k 的组 --模拟
- K 次取反后最大化的数组和 --贪心
- 检查两个字符串是否几乎相等 --哈希表
- 山羊拉丁文 --模拟
- 千位分隔数 --模拟
- 长按键入 --双指针
- 至少在两个数组中出现的值 --哈希表
- 找出数组中的所有 K 近邻下标 --哈希表
- 检查是否每一行每一列都包含全部整数 --哈希表
1213
- 判断句子是否为全字母句 --位运算
- 定长子串中元音的最大数目 --滑窗
- 复写零 --双指针
- 打折购买糖果的最小开销 --贪心
- 字符的最短距离 --动规思想
- 两句话中的不常见单词 --哈希表
- 单调数列 --一次遍历
- 环和杆 --位运算
- 根据数字二进制下 1 的数目排序 --排序 bin.count('1')统计二进制中1的个数
- 句子中的最多单词数 --计数
- 检查句子中的数字是否递增 --模拟 '12'.isdigit() 判断是否为数字字符
- 找到和为给定整数的三个连续整数 --数学
- 统计数组中相等且可以被整除的数对 --模拟
- 统计各位数字之和为偶数的整数个数 --模拟
- 找到最高海拔 --前缀和
- 找到最接近 0 的数字 --模拟
- 数组中不等三元组的数目 --贡献法O(n) 未完成
- 字符串转化后的各位数字之和 --模拟
1214
- 检查边长度限制的路径是否存在 --困难题
- 判断一个数的数字计数是否等于数位的值 --哈希表
- 使两字符串互为字母异位词的最少步骤数 -- hash |结果取并集
- Excel 表中某个范围内的单元格 --模拟
- 处理用时最长的那个任务的员工 --排序
- 多个数组求交集 --计数
- 对奇偶下标分别排序 --排序 nums[::2]=sorted(nums[::2]) 切片可以赋值
- 雪糕的最大数量 --贪心
- 较大分组的位置 --模拟
- 统计星号 --计数
- 不同的平均值数目 --排序
- 托普利茨矩阵 --矩阵
1215
- 两棵二叉搜索树中的所有元素 --归并 lambda表达式
- 解码字母到整数映射 --遍历
- 拆分成最多数目的正偶数之和 --贪心、数学
- 有效的回旋镖 --数学
- 长度为三且各字符不同的子字符串 --滑窗
- 缀点成线 --数学
- 分割圆的最少切割次数 --几何
- 增量元素之间的最大差值 --一次遍历
- 换水问题 --模拟
- 小于 K 的两数之和 --相向双指针
- 等差数列中缺失的数字 --数学
- 检查相同字母间的距离 --哈希表
- 翻转图像 --模拟
- 兼具大小写的最好英文字母 --位运算
- 检查是否所有字符出现次数相同 --哈希表
- 按奇偶排序数组 II --原地修改,按奇偶性排序
- 使括号有效的最少添加 --栈
- 重新格式化字符串 --双指针
- 最好的扑克手牌 --模拟
- 强密码检验器 II --模拟
- 极大极小游戏 --模拟
- 两栋颜色不同且距离最远的房子 --贪心
- 分割字符串的最大得分 --枚举
1215
- 十进制整数的反码 --位运算
1226
- 统计同构子字符串的数目 --模拟 最小化两个数组中的最大值 --二分
1227
- 转换字符串的最少操作次数 --模拟
- 两球之间的磁力 --二分
- 礼盒的最大甜蜜度
- 好分区的数目 --01背包
1228
- 删除字符串两端相同字符后的最短长度 --双指针 AcWing 4261. 孤独的照片 --乘法原理 AcWing 3400. 统计次数 --暴力 AcWing 4366. 上课睡觉 --数学
- 查询树中环的长度 --最近公共祖先 AcWing 4787. 构造序列 --构造
- 闯关 --贪心 review
1229
- 买卖股票的最佳时机含手续费 --动归 review
- 使用质因数之和替换后可以取到的最小值 --分解质因数
- 添加边使所有节点度数都为偶数 --分类讨论
- 查询树中环的长度 --最近公共祖先
1230 AcWing 4818. 奶牛大学 --贪心
- 目标和 --重新捋思路
1230
- 使每位学生都有座位的最少移动次数 --贪心