目录
- 1.二分
- 1.1 索引二分
- 1.2 值域二分
- 2.链表
- 3.数组
- 4.树
- 5.Trie树(字典树)
- 6.堆
- 7.栈、队列
- 7.1 转换
- 7.2 单调栈
- 7.3 单调队列
- 7.4 逆波兰表达式/计算器
- 7.5 括号序列
- 8.双指针
- 8.1 同向双指针
- 8.2 滑动窗口
- 8.3 逆向双指针
- 9.哈希表
- 10.位运算
- 11.排序
- 12.数学
- 13.搜索
- 13.1 DFS(深度优先搜索)
- 13.2 BFS(宽度优先搜索)
- 14.贪心
- 14.1 区间贪心
- 15.分治
- 16.动态规划
- 16.1 背包问题
- 16.1.1 01背包
- 16.1.2 完全背包
- 16.1.3 二维费用背包
- 16.2 LIS模型
- 16.3 线性DP
- 抢劫问题,双路径问题,股票问题,表达式匹配
- 16.4 区间DP
- 16.5 树形DP
- 16.6 记忆化搜索
- 16.7 状态机DP
- 16.8 状压DP
- 16.1 背包问题
- 17.图论
- 18.树状数组
- 19.蓄水池抽样
- 20.字符串
1.二分
1.1 索引二分
- LeetCode33.搜索旋转排序数组
- LeetCode34.在排序数组中查找元素的第一个和最后一个位置
- LeetCode35.搜索插入位置
- LeetCode81.搜索旋转排序数组Ⅱ
- LeetCode74.搜索二维矩阵(坐标变换:二维到一维)
- LeetCode153.寻找旋转排序数组中的最小值
- LeetCode154.寻找旋转排序数组中的最小值Ⅱ
- LeetCode162.寻找峰值
- LeetCode274.H指数(排序)
- LeetCode275.H指数Ⅱ
- LeetCode278.第一个错误的版本
- LeetCode436.寻找右区间
- LeetCode540.有序数组中的单一元素(trick:x^1的奇偶性)
- LeetCode704.二分查找(二分模板题)
1.2 值域二分
- LeetCode374.猜数字大小
- LeetCode69.x的平方根
- LeetCode367.有效的完全平方数
- LeetCode287.寻找重复数(鸽巢原理+二分)
- LeetCode378.有序矩阵中第K小的元素
- LeetCode410.分割数组的最大值
- LeetCode875.爱吃香蕉的珂珂
- LeetCode1011.在D天内送达包裹的能力
- LeetCode1482.制作m束花所需的最少天数
- LeetCode1552.两球之间的磁力
- LCP12.小张刷题计划
2.链表
- LeetCode2.两数相加(高精度加法)
- LeetCode445.两数相加Ⅱ(高精度加法+栈)
- LeetCode19.删除链表的倒数第N个节点
- LeetCode21.合并两个有序链表
- LeetCode23.合并K个升序链表(多路归并)
- LeetCode24.两两交换链表中的节点
- LeetCode25.K个一组翻转链表
- LeetCode61.旋转链表(快慢指针)
- LeetCode83.删除排序链表中的重复元素
- LeetCode82.删除排序链表中的重复元素Ⅱ
- LeetCode86.分隔链表
- LeetCode206.翻转链表
- LeetCode92.反转链表Ⅱ
- LeetCode141.环形链表
- LeetCode142.环形链表Ⅱ
- LeetCode143.重排链表
- LeetCode160.相交链表
- LeetCode203.移除链表元素
- LeetCode234.回文链表
- LeetCode237.删除链表中的节点
- LeetCode328.奇偶链表
- LeetCode707.设计链表(设计单链表,双链表模板题)
- LeetCode876.链表的中间节点
3.数组
- LeetCode36.有效的数独
- LeetCode48.旋转图像(二维数组原地旋转)
- LeetCode56.合并区间(区间问题)
- LeetCode57.插入区间(区间问题)
- LeetCode73.矩阵置零
- LeetCode169.多数元素(摩尔投票法)
- LeetCode189.旋转数组
- LeetCode229.求众数2(摩尔投票法)
- LeetCode238.除自身以外数组的乘积(前后缀分解)
- LeetCode303.区域和检索-数组不可变(一维前缀和)
- LeetCode304.二维区域和检索-矩阵不可变(二维前缀和)
- LeetCode384.打乱数组(洗牌算法)
- LeetCode413.等差数列划分
- LeetCode419.甲板上的战舰
- LeetCode442.数组中重复的数据(内卷法)
- LeetCode448.找到所有数组中消失的数字(内卷法)
- LeetCode453.最小移动次数使数组元素相等(逆向思维)
- LeetCode561.数组拆分Ⅰ
- LeetCode565.数组嵌套(数组模拟图)
- LeetCode566.重塑矩阵(坐标变换)
- LeetCode1491.去掉最低工资和最高工资后的平均值(模拟)
- LeetCode1550.存在连续三个奇数的数组
- LeetCode1675.使数组互补的最少操作次数(一维差分)
4.树
- LeetCode98.验证二叉搜索树
- LeetCode99.恢复二叉搜索树(Morris遍历)
- LeetCode100.相同的树
- LeetCode101.对称二叉树
- LeetCode102.二叉树的层序遍历
- LeetCode107.二叉树的层次遍历Ⅱ
- LeetCode103.二叉树的锯齿形层次遍历
- LeetCode104.二叉树的最大深度
- LeetCode105.从前序和中序遍历序列构造二叉树
- LeetCode106.从中序和后序遍历序列构造二叉树
- LeetCode108.将有序数组转换为二叉搜索树
- LeetCode109.有序链表转换二叉搜索树
- LeetCode110.平衡二叉树
- LeetCode111.二叉树的最小深度
- LeetCode112.路径总和
- LeetCode113.路径总和Ⅱ
- LeetCode114.二叉树展开为链表
- LeetCode116.填充每个节点的下一个右侧节点指针
- LeetCode117.填充每个节点的下一个右侧节点指针Ⅱ
- LeetCode124.二叉树中的最大路径和
- LeetCode129.求根到叶子节点数字之和
- LeetCode144.二叉树的前序遍历
- LeetCode145.二叉树的后序遍历
- LeetCode173.二叉搜索树迭代器
- LeetCode222.完全二叉树的节点个数
- LeetCode226.翻转二叉树
- LeetCode230.二叉搜索树中第K小的元素
- LeetCode297.二叉树的序列化与反序列化
- LeetCode352.将数据流变为多个不相交区间(平衡二叉树TreeSet)
- LeetCode404.左叶子之和
- LeetCode429.N叉树的层序遍历
- LeetCode449.序列化和反序列化二叉搜索树
- LeetCode450.删除二叉搜索树中的节点
- LeetCode501.二叉搜索树中的众数
- LeetCode513.找树左下角的值(BFS)
- LeetCode515.在每个树行中找最大值(BFS)
- LeetCode1609.奇偶树(BFS)
5.Trie树(字典树)
- LeetCode208.实现Trie(前缀树)
- LeetCode211.添加与搜索单词-数据结构设计
- LeetCode212.单词搜索Ⅱ(DFS+Trie优化)
- LeetCode421.数组中两个数的最大异或值
6.堆
- LeetCode215.数组中的第K个最大元素(TopK)
- LeetCode295.数据流的中位数(对顶堆)
- LeetCode480.滑动窗口中位数(对顶堆)
- LeetCode347.前K个高频元素(TopK)
- LeetCode373.查找和最小的K对数字(TopK)
- LeetCode451.根据字符出现频率排序(TopK)
7.栈、队列
- LeetCode155.最小栈(设计)
- LeetCode844.比较含退格的字符串
- LeetCode1381.设计一个支持增量操作的栈(设计)
- LeetCode622.设计循环队列
- LeetCode641.设计循环双端队列
- LeetCode946.验证栈序列(模拟)
- LeetCode1047.删除字符串中的所有相邻重复项
- LeetCode1209.删除字符串中的所有相邻重复项II
7.1 转换
7.2 单调栈
- LeetCode42.接雨水
- LeetCode84.柱状图中最大的矩形
- LeetCode85.最大矩形(84拓展)
- LeetCode496.下一个更大元素Ⅰ
- LeetCode503.下一个更大元素Ⅱ
- LeetCode739.每日温度
7.3 单调队列
7.4 逆波兰表达式/计算器
7.5 括号序列
8.双指针
8.1 同向双指针
- LeetCode38.外观数列
- LeetCode58.最后一个单词长度
- LeetCode26.删除排序数组中的重复项
- LeetCode80.删除排序数组中的重复项Ⅱ
- LeetCode27.移除元素
- LeetCode75.颜色分类(三指针)
- LeetCode88.合并两个有序数组
- LeetCode283.移动零
- LeetCode392.判断子序列
- LeetCode434.字符串中的单词数
- LeetCode443.压缩字符串
- LeetCode485.最大连续1的个数
- LeetCode763.划分字母区间
- LeetCode922.按奇偶排序数组
- LeetCode986.区间列表的交集
8.2 滑动窗口
- LeetCode3.无重复字符的最长子串
- LeetCode76.最小覆盖子串
- LeetCode209.长度最小的子数组(前缀和+双指针)
- LeetCode424.替换后的最长重复字符
- LeetCode438.找到字符串中所有字母异位词
- LeetCode532.数组中的k-diff数对
- LeetCode567.字符串的排列
- LeetCode1004.最大连续1的个数Ⅲ
- LeetCode1493.删掉一个元素以后全为1的最长子数组
- LeetCode1695.删除子数组的最大得分(哈希表+滑动窗口)
8.3 逆向双指针
- LeetCode5.最长回文子串
- LeetCode11.盛水最多的容器
- LeetCode15.三数之和
- LeetCode16.最接近的三数之和
- LeetCode18.四数之和
- LeetCode125.验证回文串
- LeetCode167.两数之和Ⅱ-输入有序数组
- LeetCode344.反转字符串
- LeetCode345.反转字符串中的元音字母
9.哈希表
- LeetCode49.字母异位词分组
- LeetCode128.最长连续序列
- LeetCode217.存在重复元素
- LeetCode219.存在重复元素Ⅱ
- LeetCode220.存在重复元素Ⅲ
- LeetCode299.猜数字游戏
- LeetCode349.两个数组的交集
- LeetCode350.两个数组的交集Ⅱ
- LeetCode380.常数时间插入、删除和获取随机元素
- LeetCode381.O(1)时间插入、删除和获取随机元素-允许重复
- LeetCode383.赎金信
- LeetCode387.字符中的第一个唯一字符
- LeetCode409.最长回文串
- LeetCode437.路径总和Ⅲ(前缀和+哈希表)
- LeetCode454.四数相加Ⅱ
- LeetCode560.和为K的子数组(前缀和+哈希表)
- LeetCode454.四数相加Ⅱ
- LeetCode146.LRU缓存
- LeetCode460.LFU缓存
- LeetCode523.连续子数组和(前缀和+哈希表)
- LeetCode525.连续数组(前缀和+哈希表)
- LeetCode532.数组中的k-diff数对
- LeetCode554.砖墙
- LeetCode575.分糖果
- LeetCode705.设计哈希集合
- LeetCode706.设计哈希映射
- LeetCode1577.数的平方等于两数乘积的方法数
- LeetCode1604.警告一小时内使用相同员工卡大于等于3次的人(哈希表,排序)
- LeetCode1647.字符频次唯一的最小删除次数
- LeetCode1679.K和数对的最小数目(哈希表/双指针)
10.位运算
- LeetCode67.二进制求和(高精度加法)
- LeetCode136.只出现一次的数字(异或性质)
- LeetCode137.只出现一次的数字Ⅱ
- LeetCode260.只出现一次的数字Ⅲ(分组异或)
- LeetCode268.丢失的数字(异或性质)
- LeetCode289.生命游戏(二进制位存状态)
- LeetCode318.最大单词长度乘积(二进制位存状态)
- LeetCode371.两整数之和
- LeetCode389.找不同(异或性质)
- LeetCode405.数字转换为十六进制数(进制转换)
- LeetCode461.汉明距离
- LeetCode476.数字的补数
- LeetCode477.汉明距离总和
- LeetCode1680.连接连续二进制数字(位运算)
11.排序
- LeetCode147.对链表进行插入排序
- LeetCode148.排序链表(链表归并排序)
- LeetCode264.丑数Ⅱ(多路归并)
- LeetCode313.超级丑数(多路归并)
- LeetCode912.排序数组(排序模板题)
- LeetCode1122.数组的相对排序(自定义排序/计数排序)
- LeetCode1464.数组中两元素的最大乘积
- LeetCode1465.切割后面积最大的蛋糕
- LeetCode1636.按照频率将数组升序排序(自定义排序)
- LeetCode1637.两点之间不包含任何点的垂直最宽面积
12.数学
- LeetCode43.字符串相乘(高精度乘法)
- LeetCode50.pow(x,n)(快速幂)
- LeetCode60.排列序列(字典序找位置)
- LeetCode67.二进制求和(二进制的高精度加法)
- LeetCode89.格雷编码(格雷码)
- LeetCode149.直线上最多的点数(平面几何、斜率)
- LeetCode166.分数到小数(模拟除法找循环节)
- LeetCode172.阶乘后的零
- LeetCode179.最大数(自定义排序)
- LeetCode202.快乐数(快慢指针)
- LeetCode233.数字1的个数(计数问题)
- LeetCode263.丑数(质因数分解)
- LeetCode204.计数质数(筛质数)
- LeetCode205.同构字符串(双射)
- LeetCode223.矩形面积(求面积)
- LeetCode258.各位相加
- LeetCode270.单词规律(双射)
- LeetCode292.Nim游戏(博弈论)
- LeetCode319.灯泡开关(算数基本定理、约数)
- LeetCode231.2的幂
- LeetCode326.3的幂
- LeetCode342.4的幂
- LeetCode343.整数拆分(因数分解)
- LeetCode357.计算各个位数不同的数字个数(计数问题)
- LeetCode365.水壶问题(裴蜀定理)
- LeetCode397.整数替换(模拟)
- LeetCode412.Fizz Buzz(因数)
- LeetCode415.字符串相加(高精度加法)
- LeetCode423.从英文中重建数字(计数问题)
- LeetCode440.字典序的第K小数字(计数问题,模拟遍历十叉树)
- LeetCode441.排列硬币
- LeetCode459.重复的子字符串(循环节)
- LeetCode462.最少移动次数使数组元素相等Ⅱ(中位数)
- LeetCode463.岛屿的周长(求平面图形周长)
- LeetCode492.构造矩形
- LeetCode1492.n的第k个因子(因数)
- LeetCode1551.使数组中所有元素相等的最小操作数
- LeetCode1643.第K条最小指令(字典序+组合数+计数问题)
13.搜索
13.1 DFS
- LeetCode17.电话号码的字母组合
- LeetCode22.括号生成
- LeetCode37.解数独
- LeetCode39.组合总和
- LeetCode40.组合总和Ⅱ
- LeetCode126.组合总和Ⅲ
- LeetCode46.全排列
- LeetCode47.全排列Ⅱ
- LeetCode51.N皇后
- LeetCode52.N皇后Ⅱ
- LeetCode77.组合
- LeetCode78.子集
- LeetCode90.子集Ⅱ
- LeetCode79.单词搜索
- LeetCode93.复原IP地址
- LeetCode130.被围绕的区域(Flood Fill)
- LeetCode133.克隆图
- LeetCode138.复制带随机指针的链表
- LeetCode301.删除无效的括号
- LeetCode386.字典序排数(模拟遍历Trie树)
- LeetCode417.太平洋大西洋水流问题(Flood Fill)
- LeetCode430.扁平化多级双向链表(可看成二叉树的层序遍历)
- LeetCode473.火柴拼正方形
- LeetCode784.字母大小写全排列
- LeetCode842.将数组拆分成斐波那契数列
13.2 BFS
- LeetCode127.单词接龙
- LeetCode126.单词接龙Ⅱ(BFS+DFS)
- LeetCode433.最小基因变化
- LeetCode690.员工的重要性(BFS/DFS)
14.贪心
- LeetCode55.跳跃游戏
- LeetCode45.跳跃游戏Ⅱ
- LeetCode124.加油站
- LeetCode316.去除重复字母(贪心+单调栈+哈希表)
- LeetCode330.按要求补齐数组
- LeetCode376.摆动序列
- LeetCode402.移掉K位数字(贪心+单调栈)
- LeetCode455.分发饼干
- LeetCode502.IPO(贪心+堆)
- LeetCode605.种花问题
- LeetCode649.Dota2参议院(贪心+队列)
- LeetCode659.分割数组为连续子序列(贪心+哈希表)
- LeetCode681.翻转矩阵后的得分(基于操作顺序的贪心)
- LeetCode767.重构字符串(贪心+堆)
- LeetCode738.单调递增是数字
- LeetCode860.柠檬水找零
- LeetCode1642.可以到达的最远建筑(贪心+堆)
- LeetCode1648.销售价值减少的颜色球(贪心+优化计算)
- LeetCode1673.找出最具竞争力的子序列(贪心+单调栈,同402)
14.1 区间类贪心
15.分治
- LeetCode95.不同的二叉搜索树(卡特兰数)
- LeetCode241.为表达式设置优先级(卡特兰数)
- LeetCode105.从前序和中序遍历序列构造二叉树
- LeetCode106.从中序和后序遍历序列构造二叉树
- LeetCode108.将有序数组转换为二叉搜索树
- LeetCode109.有序链表转换二叉搜索树
16.动态规划
16.1 背包问题
16.1.1 01背包
16.1.2 完全背包
16.1.3 二维费用背包
16.1.4 求具体方案
16.2 LIS模型
- LeetCode300.最长上升子序列
- LeetCode354.俄罗斯套娃信封问题(二维LIS)
- LeetCode368.最大整除子集(LIS求方案)
- LeetCode1626.无矛盾的最佳球队(二维LIS+LIS最大和)
- LeetCode1691.堆叠长方体的最大高度(贪心+三维LIS)
16.3 线性DP
- LeetCode53.最大子序和
- LeetCode62.不同路径
- LeetCode63.不同路径Ⅱ
- LeetCode64.最小路径和
- LeetCode70.爬楼梯(递推)
- LeetCode72.编辑距离
- LeetCode91.解码方法
- LeetCode96.不同的二叉搜索树(递推)
- LeetCode97.交错字符串
- LeetCode115.不同的子序列
- LeetCode118.杨辉三角
- LeetCode119.杨辉三角Ⅱ
- LeetCode120.三角形最小路径和
- LeetCode131.分割回文串(DP+DFS)
- LeetCode132.分割回文串Ⅱ
- LeetCode174.地下城游戏
- LeetCode221.最大正方形(分类讨论)
- LeetCode376.摆动序列
- LeetCode509.斐波那契数
- LeetCode514.自由之路
- LeetCode1155.掷骰子的n种方法(骰子问题)
- LeetCode1425.带限制的子序列和(动态规划+单调队列优化)
- LeetCode1696.跳跃游戏VI(动态规划+单调队列优化)
抢劫问题
方格取数问题(矩阵双路径)
股票问题
- LeetCode121.买卖股票的最佳时机(贪心)
- LeetCode122.买卖股票的最佳时机Ⅱ(贪心)
- LeetCode123.买卖股票的最佳时机Ⅲ(前后缀分解也能做)
- LeetCode188.买卖股票的最佳时机Ⅳ
- LeetCode309.最佳买卖股票时机含冷冻期(状态机)
- LeetCode714.买卖股票的最佳时机含手续费(状态机)
表达式匹配
16.4 区间DP
- LeetCode312.戳气球
- LeetCode375.猜数字大小Ⅱ(极小化极大,区间DP)
- LeetCode486.预测赢家(极小化极大,区间DP)
- LeetCode516.最长回文子序列
- LeetCode730.统计不同回文子序列(区间DP + 双端队列)
- LeetCode877.石子游戏(博弈论,区间DP,数学,486题的特例)
- LeetCode1690.石子游戏Ⅶ(博弈论,区间DP)
16.5 树形DP
16.6 记忆化搜索
- LeetCode135.分发糖果
- LeetCode329.矩阵中的最长递增路径
- LeetCode464.我能赢吗(状压DP+记忆化搜索)
- LeetCode913.猫和老鼠(存在平局的博弈论,记忆化搜索)
- LeetCode1728.猫和老鼠 II(博弈论,记忆化搜索)
16.7 状态机DP
16.8 状压DP
- LeetCode464.我能赢吗(状压DP+记忆化搜索)
- LeetCode1681.最小不兼容性(枚举子集)
17.图论
- LeetCode200.岛屿数量(并查集+坐标变换)
- LeetCode207.课程表(拓扑排序)
- LeetCode210.课程表Ⅱ
- LeetCode310.最小高度树(BFS)
- LeetCode332.重新安排行程(欧拉路径)
- LeetCode399.除法求值(Floyd求最短路)
- LeetCode547.朋友圈(并查集模板题)
- LeetCode684.冗余连接(并查集)
- LeetCode743.网络延迟时间(最短路模板题,可用来练习最短路算法:Dijkstra/Bellman-ford/SPFA/Floyd)
- LeetCode785.判断二分图(染色法判定二分图)
- LeetCode797.所有可能的路径(建图+DFS)
- LeetCode990.等式方程的可满足性(并查集)
- LeetCode1584.连接所有点的最小费用(最小生成树)
- LeetCode1615.最大网络秩
- LeetCode1627.带阈值的图连通性(并查集+数论)
- LeetCode1631.最小体力消耗路径(并查集+坐标变换/DFS+二分)
- LeetCode1697.检查边长度的路径是否存在(离线算法+并查集)
- LeetCode2115. 从给定原材料中找到所有可以做出的菜(拓扑排序)
18.树状数组
- 一般用树状数组能解决的问题,都可以用归并排序变形来解决
- LeetCode307.区域和检索-数组可修改(树状数组模板题)
- LeetCode315.计算右侧小于当前元素的个数
- LeetCode327.区间和的个数
- LeetCode493.翻转对
- LeetCode1649.通过指令创建有序数组
- 剑指offer.51.数组中的逆序对
19.蓄水池抽样
20.字符串
- LeetCode5.最长回文子串(中心扩展法)
- LeetCode520.检测大写字母(模拟)
- LeetCode521.最长特殊序列1(脑筋急转弯)
- LeetCode522.最长特殊序列2(双指针判定子序列)
- LeetCode551.学生出勤记录1
- LeetCode647.回文子串(中心扩展法)
- LeetCode1332.删除回文子序列(脑筋急转弯)
- LeetCode1637.统计只差一个字符的子串数目(暴力枚举)
平衡树
- LeetCode729.我的日程安排表 I
- LeetCode731.我的日程安排表 II(平衡树+差分)
- LeetCode732.我的日程安排表 III(平衡树+差分)
LeetCode第30场双周赛
- LeetCode1507.转换日期格式(字符串API)
- LeetCode1510.石子游戏Ⅳ(博弈论,DP)
LeetCode第192场周赛
- LeetCode1470.重新排列数组(数组,模拟)
- LeetCode1471.数组中的k个最强值(自定义排序)
- LeetCode1472.设计浏览器历史记录(设计)
LeetCode第217场周赛
- LeetCode1673.最富有客户的资产总量(统计行最大值)
- LeetCode1674.找出最具竞争力的子序列(贪心+单调栈,同402题)
- LeetCode1675.使数组互补的最少操作次数(一维差分)
LeetCode第218场周赛
- LeetCode1678.设计Goal解析器(模拟)
- LeetCode1679.K和数对的最小数目(哈希表/双指针)
- LeetCode1680.连接连续二进制数字(位运算)
- LeetCode1681.最小不兼容性(枚举子集状压DP)
LeetCode第219场周赛
- LeetCode1688.比赛中的配对次数(模拟/脑筋急转弯)
- LeetCode1689.十-二进制数的最少数目(脑筋急转弯)
- LeetCode1690.石子游戏Ⅶ(博弈论,区间DP)
- LeetCode1691.堆叠长方体的最大高度(贪心+三维LIS)
LeetCode第220场周赛
- LeetCode1694.重新格式化电话号码(模拟)
- LeetCode1695.删除子数组的最大得分(哈希表+滑动窗口)
- LeetCode1696.跳跃游戏VI(动态规划+单调队列优化)
- LeetCode1697.检查边长度的路径是否存在(离线算法+并查集)
LeetCode第221场周赛
- LeetCode1704.判断字符串的两半是否相似(模拟)
- LeetCode1705.吃苹果的最大数目(贪心+堆)
- LeetCode1706.球会落何处(模拟)
- LeetCode1707.与数组中元素的最大异或值(贪心+Trie树+离线,同421)
LeetCode第222场周赛
- LeetCode1710.卡车上的最大单元数(贪心)
- LeetCode1711.大餐计数(哈希表,两数之和变形)
- LeetCode1712.将数组分成三个子数组的方案数(前缀和+二分)
- LeetCode1713.得到子序列的最少操作次数(LCS转换LIS+贪心优化)
LeetCode第223场周赛
- LeetCode1720.解码异或后的数组(异或运算性质)
- LeetCode1721.交换链表中的节点(链表)
- LeetCode1722.执行交换操作后的最小汉明距离(并查集)
- LeetCode1723.完成所有工作的最短时间(枚举子集,状压DP)
LeetCode第224场周赛
- LeetCode1725.可以形成最大正方形的矩形数目(模拟)
- LeetCode1726.同积元组(哈希表,数学,计数)
- LeetCode1727.重新排列后的最大子矩阵(枚举,排序,第85题的简单版,可不用单调栈优化)
- LeetCode1728.猫和老鼠 II(博弈论,记忆化搜索)
第45场双周赛
- LeetCode1748.唯一元素的和(哈希表)
- LeetCode 1749.任意子数组和的绝对值的最大值(动态规划,最大子序和问题)
- LeetCode 1750.删除字符串两端相同字符后的最短长度(双指针)
- LeetCode 1751.最多可以参加的会议数目II(动态规划+二分,区间问题)
第227场周赛
第228场周赛
- LeetCode1758.生成交替二进制字符串的最少操作数(模拟/位运算)
- LeetCode1759.统计同构子字符串的数目(滑窗+哈希表/计数问题)
- LeetCode1760.袋子里数目最少的球(值域二分)
- LeetCode1761.一个图中连通三元组的最小度数(暴力枚举+预处理节点的度)
第229场周赛
- 交替合并字符串(双指针,模拟)
- 移动所有球到每个盒子所需的最小操作数(暴力)
- 执行乘法运算的最大分数(区间DP)
- 由子序列构造的最长回文串的长度(区间DP)
第230场周赛
- LeetCode1773. 统计匹配检索规则的物品数量(模拟)
- LeetCode1774. 最接近目标价格的甜点成本(0-1背包/三进制枚举/DFS)
- LeetCode1775. 通过最少操作次数使数组的和相等(贪心)
- LeetCode1776. 车队II(单调栈)
第31场双周赛
- LeetCode1523. 在区间范围内统计奇数数目(数学)
- LeetCode1524. 和为奇数的子数组数目(前缀和)
- LeetCode1525. 字符串的好分割数目(线性扫描枚举分割点+哈希表)
- LeetCode1526. 形成目标数组的子数组最少增加次数(差分数组)
第33场双周赛
- LeetCode1556. 千位分隔数(模拟)
- LeetCode1557. 可以到达所有点的最少点数目(图论,度的统计,有向无环图的性质)
- LeetCode1558. 得到目标数组的最少函数调用次数(贪心,模拟/位运算)
- LeetCode1559. 二维网格图中探测环(并查集)
数组分类下的内卷法是大佬自创的叫法吗,我好像找不到有关的东西
感谢大佬
针不戳
tql
棒!
觉得不错的jm点了👍和收藏
绑定 TP
太棒了
%%%%%%%%%
是不是谁分享了这篇的链接啊。。为啥短时间内突然这么多点赞= =
是啊,我分了好多群
hhh有被吓到
太棒了I need this
觉得不错的xd点了个收藏
感谢大佬的整理!!
大佬牛逼
大佬是自己做的时候总结的标签嘛
是的 因为自己也是做了过段时间就忘的类型 总结一下方便日后复习hh
大佬整理的不错,正愁找不到一个好点分类呢~
y总 表示这个真的不错,哈哈哈哈哈哈,这些题目在acwing有标签吗?
这和LeetCode tags有什么区别呢?
更细分了 把类似的题目都放一起了
太棒了!
关注了hh
%%%%%%%
大佬,支持
不是大佬hh 还在努力中 下午又把排版更新了一下 累死了
加油!到时候,参考你整理的题型练习相关知识点。(顺便说下,y总好懒(小声))hh
一起加油 (只要我不懒就会一直更新hh
hh 注入灵魂