Skip to content

This repository serves as my daily algorithm training record.

Notifications You must be signed in to change notification settings

Franch-Toast/Daily-algorithm-training

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation


Daily-algorithm-training

This repository serves as my daily algorithm training record.

日期 题目 方法
2023.3.31 E 2367. 算术三元组的数目 暴力枚举/哈希表
2023.4.1 E 831. 隐藏个人信息 字符串查找+正则表达式
2023.4.2 M 1039. 多边形三角剖分的最低得分 DP
2023.4.3 M 1053. 交换一次的先前排列 贪心
M 2606. 找到最大开销的子字符串 DP
M 53. 最大子数组和 DP
2023.4.5 E 2427. 公因子的数目 枚举
H 2608. 图中的最短环 BFS暴力枚举
2023.4.6 M 1017. 负二进制转换 模拟/进制转换
2023.4.7 M 1040. 移动石子直到连续 II 滑动窗口+分析
2023.4.8 M 34.在排序数组中查找元素的第一个和最后一个位置 二分
2023.4.9 E 2399. 检查相同字母间的距离 哈希表
2023.4.10 M 1019. 链表中的下一个更大节点 单调栈
2023.4.11 M 1041. 困于环中的机器人 模拟
2023.4.12 M 39. 组合总和 回溯剪枝
2023.4.13 E 2404. 出现最频繁的偶数元素 哈希表
M 46. 全排列 回溯
2023.4.14 M 1023. 驼峰式匹配 模拟/双指针
2023.4.15 M 1042. 不邻接植花 哈希表/数组
2023.4.17 E 2409. 统计共同度过的日子数 模拟/前缀和
2023.4.18 M 1026. 节点与其祖先之间的最大差值 dfs/递归
2023.4.19 M 1043. 分隔数组以得到最大和 DP
2023.4.21 E 2413. 最小偶倍数 数学
2023.4.29 E 2423. 删除字符使频率相同 哈希表
2023.4.30 M 1033. 移动石子直到连续 分类讨论
2023.5.1 M 1376. 通知所有员工所需的时间 递归
2023.5.2 M 970. 强整数 枚举
2023.5.3 M 1003. 检查替换后的词是否有效 栈/配对
2023.5.4 M 128. 最长连续序列 哈希表/剪枝
2023.5.5 E 2432. 处理用时最长的那个任务的员工 枚举
2023.5.7 M 1010. 总持续时间可被 60 整除的歌曲 哈希表
2023.5.8 M 438. 找到字符串中所有字母异位词 滑动窗口
2023.5.10 E 2437. 有效时间的数目 回溯/枚举
M 1015. 可被 K 整除的最小整数 取模
2023.5.11 M 1016. 子串能表示从 1 到 N 数字的二进制串 哈希表
2023.5.12 M 560. 和为 K 的子数组 前缀和+哈希表
2023.5.13 E 2441. 与对应负数同时存在的最大正整数 排序+双指针
2023.5.14 M 1054. 距离相等的条形码 优先队列+贪心
2023.5.15 M 1072. 按列翻转得到最大值等行数 哈希表
2023.5.17 E 2446. 判断两个事件是否存在冲突 模拟
2023.5.18 M 1073. 负二进制数相加 模拟
2023.5.20 M 1079. 活字印刷 回溯
2023.5.21 E LCP 33. 蓄水 贪心/优先队列
2023.5.22 M 1080. 根到叶路径上的不足节点 DFS
2023.5.23 M 1090. 受标签影响的最大值 优先队列+哈希表
2023.5.25 E 160. 相交链表 双指针
E 283. 移动零 遍历
E 2451. 差值数组不同的字符串 遍历
2023.6.5 E 2460. 对数组执行操作 模拟
2023.6.6 E 35. 搜索插入位置 二分
M 2352. 相等行列对 哈希表
M 34. 在排序数组中查找元素的第一个和最后一个位置 二分
69. x 的平方根 二分
E 367. 有效的完全平方数 二分
2023.6.7 E 26. 删除有序数组中的重复项 双指针
E 27. 移除元素 双指针
E 844. 比较含退格的字符串 栈/双指针
2023.6.8 E 977. 有序数组的平方 排序/双指针
2023.6.9 M 209. 长度最小的子数组 滑动窗口
M 904. 水果成篮 滑动窗口
2023.6.13 M 1171. 从链表中删去总和值为零的连续节点 哈希表
2023.6.14 M 2475. 数组中不等三元组的数目 哈希表
M 1375. 二进制字符串前缀一致的次数 遍历
2023.6.15 M 1177. 构建回文串检测 前缀和+异或
2023.6.19 E 2481. 分割圆的最少切割次数 分类讨论
M 1262. 可被三整除的最大和 贪心
M 59. 螺旋矩阵 II 模拟
2023.6.20 M 54. 螺旋矩阵 模拟
E 剑指 Offer 29. 顺时针打印矩阵 模拟
2023.6.21 M LCP 41. 黑白翻转棋 BFS
2023.6.22 M 面试题 16.19. 水域大小 BFS/DFS
E 203. 移除链表元素 递归
E 206. 反转链表 递归/迭代
2023.6.25 M 1401. 圆和矩形是否有重叠 数学
M 707. 设计链表 链表
2023.6.26 E 2485. 找出中枢整数 二分/数学
2023.6.27 M 1186. 删除一次得到子数组最大和 DP
M 24. 两两交换链表中的节点 迭代/递归
2023.6.28 E 面试题 02.07. 链表相交 双指针
M 142. 环形链表 II 双指针/哈希表
2023.6.29 M 1253. 重构 2 行二进制矩阵 贪心
E 242. 有效的字母异位词 哈希表/排序
E 349. 两个数组的交集 哈希表
2023.6.30 E 383. 赎金信 哈希表
E 202. 快乐数 双指针
2023.7.3 M 445. 两数相加 II 迭代/递归
E 344. 反转字符串 模拟
M 454. 四数相加 II 哈希表
2023.7.4 M 2679. 矩阵中的和 排序/优先队列
E 541. 反转字符串 II 模拟
E 剑指 Offer 05. 替换空格 模拟
2023.7.5 E 2600. K 件物品的最大和 模拟/贪心
E 94. 二叉树的中序遍历 递归
E 144. 二叉树的前序遍历 递归
E 145. 二叉树的后序遍历 递归
2023.7.6 E 94. 二叉树的中序遍历 迭代
E 144. 二叉树的前序遍历 迭代
E 145. 二叉树的后序遍历 迭代
2023.7.7 M 648. 单词替换 哈希表
2023.7.8 M 167. 两数之和 II - 输入有序数组 双指针
2023.7.10 M 16. 最接近的三数之和 排序+双指针
M 102. 二叉树的层序遍历 BFS
2023.7.11 E 104. 二叉树的最大深度 递归
E 226. 翻转二叉树 递归/迭代
2023.7.12 E 111. 二叉树的最小深度 BFS
E 2264. 字符串中最大的 3 位相同数字 枚举
2023.7.13 M 931. 下降路径最小和 DP
M 739. 每日温度 单调栈
2023.7.14 E 496. 下一个更大元素 I 单调栈
M 503. 下一个更大元素 II 单调栈
2023.7.15 M 18. 四数之和 排序+双指针
H 42. 接雨水 记忆化遍历/单调栈
2023.7.16 E 110. 平衡二叉树 递归
2023.7.17 E 415. 字符串相加 遍历
H 84. 柱状图中最大的矩形 双指针
2023.7.18 E 257. 二叉树的所有路径 DFS
E 404. 左叶子之和 DFS
E 455. 分发饼干 贪心
2023.7.19 M 874. 模拟行走机器人 哈希表+模拟
M 376. 摆动序列 贪心
M 513. 找树左下角的值 BFS/DFS
2023.7.20 E 112. 路径总和 DFS
M 77. 组合 回溯
2023.7.21 M 216. 组合总和 III 回溯
M 106. 从中序与后序遍历序列构造二叉树 递归
2023.7.24 E 771. 宝石与石头 哈希表
E 860. 柠檬水找零 模拟
M 40. 组合总和 II 回溯
2023.7.25 M 131. 分割回文串 回溯
M 2208. 将数组和减半的最少操作次数 贪心+优先队列
2023.7.26 E 509. 斐波那契数 DP
M 93. 复原 IP 地址 回溯
M 654. 最大二叉树 递归
2023.7.27 E 746. 使用最小花费爬楼梯 DP
E 2500. 删除每行中的最大值 排序
E 617. 合并二叉树 DFS
M 78. 子集 回溯
E 70. 爬楼梯 DP/完全背包
2023.7.28 E 700. 二叉搜索树中的搜索 递归/迭代
M 62. 不同路径 DP
M 491. 递增子序列 回溯
2023.7.29 E 141. 环形链表 双指针
M 98. 验证二叉搜索树 递归/迭代
M 46. 全排列 回溯
M 63. 不同路径 II DP
2023.7.30 M 343. 整数拆分 DP
E 530. 二叉搜索树的最小绝对差 DFS
E 501. 二叉搜索树中的众数 DFS
M 47. 全排列 II 回溯
2023.7.31 M 143. 重排链表 线性表/链表
M 122. 买卖股票的最佳时机 II 贪心
2023.8.1 M 96. 不同的二叉搜索树 DP
M 236. 二叉树的最近公共祖先 DFS
M 701. 二叉搜索树中的插入操作 DFS
2023.8.2 M 822. 翻转卡片游戏 哈希表
M 450. 删除二叉搜索树中的节点 递归
M 55. 跳跃游戏 贪心
2023.8.3 M 722. 删除注释 模拟
2023.8.4 E 350. 两个数组的交集 II 排序+双指针
E 1572. 矩阵对角线元素的和 遍历
H 980. 不同路径 III 回溯
2023.8.7 M 416. 分割等和子集 DP
2023.8.8 M 378. 有序矩阵中第 K 小的元素 优先队列
H 23. 合并 K 个升序链表 归并排序
2023.8.9 M 1701. 平均等待时间 模拟/CPU调度
E 1281. 整数的各位积和之差 模拟
2023.8.10 H 1289. 下降路径最小和 II DP
2023.8.11 M 787. K 站中转内最便宜的航班 DP
2023.8.13 E 88. 合并两个有序数组 双指针
M 1049. 最后一块石头的重量 II DP
M 494. 目标和 DP
2023.8.14 E 506. 相对名次 排序
M 522. 最长特殊序列 II 模拟
2023.8.15 M 833. 字符串中的查找与替换 模拟
M 474. 一和零 DP
2023.8.16 E 2682. 找出转圈游戏输家 模拟
M 518. 零钱兑换 II DP
2023.8.17 E 2133. 检查是否每一行每一列都包含全部整数 模拟
H 124. 二叉树中的最大路径和 递归
M 377. 组合总和 Ⅳ DP
2023.8.18 E 744. 寻找比目标字母大的最小字母 模拟
M 781. 森林中的兔子 逻辑
2023.8.20 E 面试题 16.17. 连续数列 前缀和
M 面试题 08.11. 硬币 DP
2023.8.21 M 2337. 移动片段得到字符串 枚举/双指针
M 2375. 根据模式串构造最小数字 贪心
2023.8.23 M 849. 到最近的人的最大距离 双指针
M 322. 零钱兑换 DP
2023.8.24 M 279. 完全平方数 DP
M 1267. 统计参与通信的服务器 遍历
M 437. 路径总和 III DFS
2023.8.25 E 1450. 在既定时间做作业的学生人数 枚举/二分
M 1448. 统计二叉树中好节点的数目 DFS
E 1512. 好数对的数目 哈希表
2023.8.27 E 228. 汇总区间 双指针/遍历
2023.8.28 M 57. 插入区间 模拟
M 80. 删除有序数组中的重复项 II 模拟
2023.8.30 M 7. 整数反转 模拟
2023.8.31 E 605. 种花问题 遍历
2023.9.4 E 125. 验证回文串 双指针/反转字符串
2023.9.5 E 704. 二分查找 二分
M 1921. 消灭怪物的最大数量 哈希表/排序
2023.9.14 M 1222. 可以攻击国王的皇后 模拟
2023.9.16 M 949. 给定数字能组成的最大时间 暴力
2023.9.18 E 897. 递增顺序搜索树 DFS
2023.9.20 E LCR 003. 比特位计数 库函数/DP
2023.9.28 M 2109. 向字符串添加空格 双指针
2023.10.1 M 912. 排序数组 九大排序算法
E 121. 买卖股票的最佳时机 DP
2023.10.2 M 122. 买卖股票的最佳时机 II DP
2023.10.4 H 123. 买卖股票的最佳时机 III DP
2023.10.8 H 2053. 数组中第 K 个独一无二的字符串 哈希表
2023.10.9 M 525. 连续数组 哈希表+前缀和
2023.11.27 M 907.子数组的最小值之和 DP+单调栈
2023.11.28 M 1670.设计前中后队列 双端队列
2023.11.29 M 2336.无限集中的最小数字 有序集合
M 473. 火柴拼正方形 回溯
2023.11.30 M 1657.确定两个字符串是否接近 计数+排序
2023.12.1 M 2661.找出叠涂元素 哈希表
2023.12.11 M 1631.最小体力消耗路径 二分法
2023.12.12 M 1742.盒子中小球的最大数量 二分法
2023.12.13 E 2697. 字典序最小回文串 双指针
2023.12.14 M 811. 子域名访问计数 哈希表
2023.12.19 M 2415. 反转二叉树的奇数层 层序遍历
M 1901. 寻找峰值 II 二分
2023.12.20 E 2828. 判别首字母缩略词 双指针
2023.12.21 M 2849.判断能否在给定时间到达单元格 数学
2023.12.22 M 1218. 最长定差子序列 DP
2023.12.23 M 1962. 移除石子使总数最小 优先队列
E 1961. 检查字符串是否为数组前缀 遍历
2023.12.24 M 1954. 收集足够苹果的最小花园周长 二分
2023.12.25 M 1276. 不浪费原料的汉堡制作方案 数学
2023.12.26 M 2327. 知道秘密的人数 遍历
2023.12.27 E 2660. 保龄球游戏的获胜者 遍历
2023.12.28 M 2735. 收集巧克力 暴力
2023.12.29 E 1185. 一周中的第几天 遍历
2024.1.1 M 1599.经营摩天轮的最大利润 模拟
E 1886. 判断矩阵经轮转后是否一致 模拟
2024.1.2 M 400. 第 N 位数字 找规律/模拟
E 500. 键盘行 哈希/遍历
2024.1.3 M 2487. 从链表中移除节点 栈/递归
2024.1.4 M 2397. 被列覆盖的最多行数 二进制枚举
2024.1.6 M 2807. 在链表中插入最大公约数 辗转相除法
2024.1.7 E 383. 赎金信 哈希表
M 424. 替换后的最长重复字符 滑动窗口
2024.1.10 E 2696. 删除子串后的字符串最小长度
2024.1.12 M 2645. 构造有效字符串的最少插入数 贪心/思考
E 2085. 统计出现过一次的公共字符串 哈希表
2024.1.13 E 680. 验证回文串 II 递归/遍历
M 2182. 构造限制重复的字符串 贪心
2024.1.14 E 83. 删除排序链表中的重复元素 遍历
E 108. 将有序数组转换为二叉搜索树 递归
2024.1.15 M 82. 删除排序链表中的重复元素 II 遍历
2024.1.17 M 1282. 用户分组 哈希表
E 2744. 最大字符串配对数目 哈希表
2024.1.18 M 2171. 拿出最少数目的魔法豆 排序+数学枚举
2024.1.19 M 1080. 根到叶路径上的不足节点 DFS
2024.1.20 E 2788. 按分隔符拆分字符串 遍历
2024.1.21 M 633. 平方数之和 遍历剪枝/双指针
E 599. 两个列表的最小索引总和 哈希表
2024.1.22 M 670. 最大交换 贪心/遍历
2024.1.23 E 2765.最长交替子序列 遍历/双指针
2024.1.24 M 2865. 美丽塔 I 单调栈
2024.1.25 E 2859. 计算 K 置位下标对应元素的和 遍历
2024.1.26 M 2910.合法分组的最少组数 哈希表/枚举
2024.1.28 E 292. Nim 游戏 数学/逻辑
M 187. 重复的dna序列 哈希表
2024.2.6 M 3001. 捕获黑皇后需要的最少移动次数 分类讨论
2024.2.8 E 993. 二叉树的堂兄弟节点 DFS
2024.2.16 M 103. 二叉树的锯齿形层序遍历 BFS
2024.2.17 M 429. N 叉树的层序遍历 BFS
2024.2.18 E 589. N 叉树的前序遍历 递归
E 1. 两数之和 哈希表
M 49. 字母异位词分组 哈希表/排序
2024.2.20 M 105. 从前序与中序遍历序列构造二叉树 递归
M 128. 最长连续序列 哈希表
2024.2.21 M 106. 从中序与后序遍历序列构造二叉树 递归
E 283. 移动零 双指针
2024.3.3 E 225. 用队列实现栈 创建类
2024.3.18 M BM12 单链表的排序 归并排序
M 11. 盛最多水的容器 双指针
M 15. 三数之和 排序+双指针
2024.3.19 H 42. 接雨水 单调栈
M 3. 无重复字符的最长子串 滑动窗口
M 438. 找到字符串中所有字母异位词 滑动窗口
2024.3.20 M 560. 和为 K 的子数组 暴力/前缀和
M 53. 最大子数组和 DP/前缀和
M 56. 合并区间 排序
2024.3.21 M 189. 轮转数组 翻转/数学
M 238. 除自身以外数组的乘积 逻辑 + 迭代
2024.3.23 M 73. 矩阵置零 数组索引
M 54. 螺旋矩阵 数组索引
M 48. 旋转图像 数组索引
2024.3.26 M 240. 搜索二维矩阵 II 二叉搜索树
2024.3.27 E 160. 相交链表 双指针
E 206. 反转链表 递归
E 234. 回文链表 双方指针+递归
2024.3.29 E 141. 环形链表 快慢指针
E 21. 合并两个有序链表 递归/迭代
2024.3.30 M 2. 两数相加 迭代
M 19. 删除链表的倒数第 N 个结点 迭代
M 24. 两两交换链表中的节点 递归
2024.3.31 M 138. 随机链表的复制 递归
M 148. 排序链表 递归归并排序
M 146. LRU 缓存 创建类
2024.4.1 E 104. 二叉树的最大深度 递归
E 226. 翻转二叉树 递归
E 101. 对称二叉树 递归/队列
E 543. 二叉树的直径 递归
2024.4.8 M 98. 验证二叉搜索树 递归
M 230. 二叉搜索树中第K小的元素 栈 + 迭代
M 199. 二叉树的右视图 DFS
2024.4.9 M 114. 二叉树展开为链表 递归/迭代/后序遍历
M 105. 从前序与中序遍历序列构造二叉树 递归 + 哈希表
2024.4.11 M 437. 路径总和 III 递归
M 236. 二叉树的最近公共祖先 递归
M 200. 岛屿数量 图论DFS
2024.4.12 M 994. 腐烂的橘子 图论BFS
M 208. 实现 Trie (前缀树) 字典树
2024.4.13 M 46. 全排列 回溯
M 78. 子集 回溯
M 17. 电话号码的字母组合 回溯
M 39. 组合总和 回溯
2024.4.14 M 22. 括号生成 回溯
M 79. 单词搜索 回溯
M 131. 分割回文串 回溯
2024.4.15 M 35. 搜索插入位置 二分
M 74. 搜索二维矩阵 二分
M 34. 在排序数组中查找元素的第一个和最后一个位置 二分
M 33. 搜索旋转排序数组 二分
2024.4.16 M 55. 跳跃游戏 贪心
M 45. 跳跃游戏 II 贪心
M 121. 买卖股票的最佳时机 贪心
M 20. 有效的括号
M 118. 杨辉三角 DP
M 70. 爬楼梯 DP
2024.4.18 M 155. 最小栈
M 394. 字符串解码
2024.4.20 H 84. 柱状图中最大的矩形 单调栈
M 215. 数组中的第K个最大元素 排序算法
M 739. 每日温度 单调栈
2024.4.21 M 763. 划分字母区间 贪心
M 198. 打家劫舍 DP
淘天暑期实习-大数据 滑动窗口
蚂蚁金服暑期实习-后端 排序
2024.4.23 M 1052. 爱生气的书店老板 滑动窗口
M 279. 完全平方数 DP
M 322. 零钱兑换 DP
2024.4.26 华为暑期实习3 递归 / 模拟+自定义排序 / 拓扑排序
M 139. 单词拆分 回溯/DP
M 300. 最长递增子序列 DP
2024.4.29 M 416. 分割等和子集 DP
M 152. 乘积最大子数组 DP
M 62. 不同路径 DP
2024.4.30 M 64. 最小路径和 DP
M 5. 最长回文子串 DP
2024.5.1 M 1143. 最长公共子序列 DP
M 72. 编辑距离 DP
2024.5.3 E 1491. 去掉最低工资和最高工资后的工资平均值 排序/模拟
E 136. 只出现一次的数字 位运算/哈希集合
2024.5.4 E 746. 使用最小花费爬楼梯 DP
E 343. 整数拆分 DP
M 96. 不同的二叉搜索树 DP
2024.5.5 M 1049. 最后一块石头的重量 II DP
M 494. 目标和 DP
2024.5.7 M 474. 一和零 DP
M 377. 组合总和 Ⅳ DP
M 518. 零钱兑换 II DP
2024.5.10 M 279. 完全平方数 DP
M 139. 单词拆分 DP
M 198. 打家劫舍 DP
M 213. 打家劫舍 II DP
2024.5.11 M 337. 打家劫舍 III 树形DP
M 121. 买卖股票的最佳时机 DP
2024.5.12 M 122. 买卖股票的最佳时机 II DP
M 123. 买卖股票的最佳时机 III DP
M 309. 买卖股票的最佳时机含冷冻期 DP
2024.5.13 M 714. 买卖股票的最佳时机含手续费 DP
M 647. 回文子串 暴力遍历
M 674. 最长连续递增序列 DP
M 718. 最长重复子数组 DP
M 1035. 不相交的线 DP
2024.5.14 M 2244. 完成所有任务需要的最少轮数 哈希表
M 392. 判断子序列 DP
M 115. 不同的子序列 DP
2024.5.15 M 583. 两个字符串的删除操作 DP
M 647. 回文子串 DP
M 516. 最长回文子序列 DP
2024.5.16 M 1953. 你可以工作的最大周数 贪心/逻辑
M 797. 所有可能的路径 DFS
2024.5.17 M 826. 安排工作以达到最大收益 排序+双指针
M 200. 岛屿数量 DFS
M 200. 岛屿数量 BFS
2024.5.18 M 695. 岛屿的最大面积 DFS
M 1020. 飞地的数量 DFS
M 130. 被围绕的区域 DFS
2024.5.29 M 2981. 找出出现至少三次的最长特殊子字符串 I 哈希表
H 827. 最大人工岛 DFS
2024.5.31 E 2965. 找出缺失和重复的数字 暴力/位运算
2024.6.3 E 2928. 给小朋友们分糖果 I 模拟/数学
E 1103. 分糖果 II 模拟/数学
H 127. 单词接龙 BFS
2024.6.4 M 54. 螺旋矩阵 模拟
M 289. 生命游戏 暴力
M 48. 旋转图像 模拟
2024.6.5 M 73. 矩阵置零 模拟
M 402 移掉 K 位数字 双端队列
H 295. 数据流的中位数 插入排序
2024.6.6 M 2938. 区分黑球与白球 遍历
M 316. 去除重复字母
2024.6.8 E 387. 字符串中的第一个唯一字符 哈希表/队列
E 933. 最近的请求次数 队列
M 215. 数组中的第K个最大元素 三路选择排序
2024.6.9 M 373. 查找和最小的 K 对数字 堆/优先队列
M 264. 丑数 II DP
E 26. 删除有序数组中的重复项 双指针遍历
2024.6.10 M 881. 救生艇 贪心
M 31. 下一个排列 模拟/排序+翻转
E 88. 合并两个有序数组 双指针/排序
2024.6.11 E 125. 验证回文串 双指针/字符串函数
M 165. 比较版本号 双指针/字符串函数
M 189. 轮转数组 模拟
M 419. 甲板上的战舰 图论DFS
2024.6.12 M 658. 找到 K 个最接近的元素 二分+双指针
E 219. 存在重复元素 II 哈希表
E 187. 重复的DNA序列 暴力模拟
E 2806. 取整购买后的账户余额 取整
2024.6.13 M 61. 旋转链表 链表成环/双指针/链表反转
M 2. 两数相加 重建链表
M 718. 最长重复子数组 DP

About

This repository serves as my daily algorithm training record.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages