共计 457 篇文章


2025

2109.向字符串添加空格:双指针
2711.对角线上不同值的数量差:O(mn)时间O(1)空间 - 位运算优化 - C++/Go双百版本 - 三种方法(一步步优化)
2255.统计是给定字符串前缀的字符串数目:使用库函数+计数
2643.一最多的行:模拟(更新答案)
2680.最大或值:位运算
2610.转换二维数组:哈希表(一次遍历)
2614.对角线上的质数:遍历(质数判断)
2272.最大波动的子字符串:转为多次的最大子数组和 - 一步步思考推导
2012.数组美丽值求和:前缀和
2070.每一个查询的最大美丽值:排序 + 二分查找
2597.美丽子集的数目:二进制枚举-一个实现起来容易但非最优的方法
2588.统计美丽子数组数目:前缀和 + 位运算(异或) + 哈希表
283.移动零:三种小方法实现
1472.设计浏览器历史记录:一个数组完成模拟,单次操作均O(1)
2502.设计内存分配器:暴力模拟
2506.统计相似字符串对的数目:哈希表+位运算
624.数组列表中的最大距离:只关心最小最大值
2080.区间内查询数字的频率:哈希表+二分查找
1287.有序数组中出现次数超过25%的元素:遍历
1299.将每个元素替换为右侧最大元素:倒序遍历,维护最大值,原地修改
1706.球会落何处:模拟 - 很有意思的一道题
1552.两球之间的磁力:二分查找
80.删除有序数组中的重复项 II:双指针 - C++/Java5 行版
63.不同路径 II:动态规划 - 原地使用地图数组,几乎无额外空间开销
59.螺旋矩阵 II:优质代码无多层嵌套,Python主程序11行解决
47.全排列 II:内置函数 / 回溯(长篇小论)
90.子集 II:二进制枚举 / 回溯
922.按奇偶排序数组 II:O(1)空间复杂度-一次遍历双指针
598.区间加法 II:最小值
219.存在重复元素 II:哈希表
45.跳跃游戏 II:贪心(柳暗花明又一村)
40.组合总和 II:回溯 + 剪枝
2412.完成所有交易的初始最少钱数:【年度巨献】举例说明(讲明白),由难至简(手脚不乱),附Python一行版
2944.购买水果需要的最少金币数:动态规划(O(n^2)复杂度,非最优算法)
2239.找到最接近 0 的数字:遍历
3097.或值至少为 K 的最短子数组 II:滑动窗口
3095.或值至少 K 的最短子数组 I:因为是I所以先暴力枚举(枚举+小优化)
3066.超过阈值的最少操作数 II:模拟 - 原地建堆O(1)空间 / 优先队列O(n)空间
2275.按位与结果大于零的最长组合
3065.超过阈值的最少操作数 I
2270.分割数组的方案数
2274.不含特殊楼层的最大连续楼层数
2241.设计一个 ATM 机器
731.我的日程安排表 II
729.我的日程安排表 I

2024

3219.切蛋糕的最小总开销 II
1366.通过投票对团队排名
3046.分割数组
3159.查询数组中元素的出现位置
3218.切蛋糕的最小总开销 I
1705.吃苹果的最大数目
2545.根据第 K 场考试的分数排序
3285.找到稳定山的下标
1847.最近的房间
1338.数组大小减半
3266.K 次乘运算后的最终数组 II
3264.K 次乘运算后的最终数组 I
2931.购买物品的最大开销
2717.半有序排列
999.可以被一步捕获的棋子数
3208.交替组 II
3206.交替组 I
632.最小区间
3238.求出胜利玩家的数目
3248.矩阵中的蛇
3244.新增道路查询后的最短距离 II
3243.新增道路查询后的最短距离 I
661.图片平滑器
825.适龄的朋友
3240.最少翻转次数使二进制矩阵回文 II
3239.最少翻转次数使二进制矩阵回文 I
3242.设计相邻元素求和服务
540.有序数组中的单一元素
3255.长度为 K 的子数组的能量值 II
3254.长度为 K 的子数组的能量值 I
638.大礼包
3165.不包含相邻元素的子序列的最大和
3259.超级饮料的最大强化能量
3181.执行操作可获得的最大总奖励 II
3180.执行操作可获得的最大总奖励 I
3175.找到连续赢 K 场比赛的第一位玩家
3185.构成整天的下标对数目 II
3184.构成整天的下标对数目 I
910.最小差值 II
908.最小差值 I
3192.使二进制数组全部等于 1 的最少操作次数 II
3191.使二进制数组全部等于 1 的最少操作次数 I
3194.最小元素和最大元素的最小平均值
3200.三角形的最大高度
3158.求出出现两次数字的 XOR 值
3164.优质数对的总数 II
3162.优质数对的总数 I
2187.完成旅途的最少时间
2073.买票需要的时间
1928.规定时间内到达终点的最小花费
1870.准时到达的列车最小时速
983.最低票价
2535.数组元素和与数字和的绝对差
997.找到小镇的法官
2398.预算内的最多机器人数目
2576.求出最多标记下标
2555.两个线段获得的最多奖品
3176.求出最长好子序列 I
2860.让所有学生保持开心的分组方法数
2708.一个小组的最大实力值
3127.构造相同颜色的正方形
3153.所有数对中数位差之和
3142.判断矩阵是否满足条件
690.员工的重要性
3148.矩阵中的最大得分
3152.特殊数组 II
3151.特殊数组 I
3132.找出与数组相加的整数 II
3131.找出与数组相加的整数 I
682.棒球比赛
2740.找出分区值
2766.重新放置石块
2101.引爆最多的炸弹
1186.删除一次得到子数组最大和
3096.得到更多分数的最少关卡数目
3112.访问消失节点的最少时间
2956.找到两个数组中的公共元素
3011.判断一个数组是否可以变为有序
2974.最小数字游戏
2970.统计移除递增子数组的数目 I
724.寻找数组的中心下标
1958.检查操作是否合法
3101.交替子数组计数
3033.修改矩阵
3115.质数的最大距离
2065.最大化一张图中的路径价值
2741.特别的排列
2748.美丽下标对的数目
522.最长特殊序列 II
2779.数组的最大美丽值
2786.访问数组中的位置使分数最大
419.甲板上的战舰
881.救生艇
3038.相同分数的最大操作数目 I
3067.在带权树网络中统计可连接服务器对数目
575.分糖果
2965.找出缺失和重复的数字
2951.找出峰值
2028.找出缺失的观测数据
1738.找出第 K 大的异或坐标值
2903.找出满足差值条件的下标 I
1673.找出最具竞争力的子序列
2225.找出输掉零场或一场比赛的玩家
1535.找出数组游戏的赢家
2644.找出可整除性得分最大的整数
826.安排工作以达到最大收益
1953.你可以工作的最大周数
2244.完成所有任务需要的最少轮数
994.腐烂的橘子
2391.收集垃圾的最少总时间
2960.统计已测试设备
2079.给植物浇水
1652.拆炸弹
1491.去掉最低工资和最高工资后的工资平均值
2798.满足目标工作时长的员工数目
1329.将矩阵按对角线排序
2639.查询网格图中每一列的宽度
1146.快照数组
1052.爱生气的书店老板
216.组合总和 III
39.组合总和
2007.从双倍数组中还原原数组
706.设计哈希映射
705.设计哈希集合
2923.找到冠军 I
2529.正整数和负整数的最大计数
2009.使数组连续的最少操作数
2952.需要添加的硬币的最小数量
2908.元素和最小的山形三元组 I
1997.访问完所有房间的第一天
2580.统计将重叠区间合并成组的方案数
322.零钱兑换
2549.统计桌面上的不同数字
303.区域和检索 - 数组不可变
2684.矩阵中移动的最大次数
2312.卖木头块
2789.合并后数组中的最大元素
2386.找出数组的第 K 大和
2575.找出字符串的可整除数组
2917.找出数组中的 K-or 值
2368.受限条件下可到达节点的数目
2369.检查数组是否存在有效划分
2673.使二叉树所有路径值相等的最小代价
2476.二叉搜索树最近节点查询
889.根据前序和后序遍历构造二叉树
106.从中序与后序遍历序列构造二叉树
105.从前序与中序遍历序列构造二叉树
LCP 30.魔塔游戏
1686.石子游戏 VI
2670.找出不同元素数目差数组
2808.使循环数组所有元素相等的最少秒数
2859.计算 K 置位下标对应元素的和
2765.最长交替子数组
410.分割数组的最大值
2788.按分隔符拆分字符串
2171.拿出最少数目的魔法豆
2744.最大字符串配对数目
2085.统计出现过一次的公共字符串
447.回旋镖的数量
2807.在链表中插入最大公约数
1944.队列中可以看到的人数
2397.被列覆盖的最多行数

2023

2706.购买两块巧克力
2660.保龄球游戏的获胜者
1349.参加考试的最大学生数
1962.移除石子使总数最小
2828.判别首字母缩略词
1901.寻找峰值 II
162.寻找峰值
746.使用最小花费爬楼梯
2132.用邮票贴满网格图
2454.下一个更大元素 IV
1631.最小体力消耗路径
2008.出租车的最大盈利
1423.可获得的最大点数
1094.拼车
2661.找出叠涂元素
907.子数组的最小值之和
2824.统计和小于目标的下标对数目
2304.网格中的最小路径代价
53.最大子数组和
2342.数位和相等数对的最大和
2760.最长奇偶子数组
2656.K 个元素的最大和
2300.咒语和药水的成功对数
2258.逃离火灾
2586.统计范围内的元音字符串数
318.最大单词长度乘积
274.H 指数
2558.从数量最多的堆取走礼物
1465.切割后面积最大的蛋糕
2678.老人的数目
1402.做菜顺序
1726.同积元组
2530.执行 K 次操作后的最大分数
260.只出现一次的数字 III
1488.避免洪水泛滥
2562.找出数组的串联值
2512.奖励最顶尖的 K 名学生
2731.移动机器人
704.二分查找
714.买卖股票的最佳时机含手续费
2251.花期内花的数目
1333.餐厅过滤器
2100.适合打劫银行的日子
LCP 06.拿硬币
213.打家劫舍 II
1222.可以攻击国王的皇后
LCP 50.宝石补给
2596.检查骑士巡视方案
630.课程表 III
2511.最多可以摧毁的敌人城堡数目
56.合并区间
1267.统计参与通信的服务器
849.到最近的人的最大距离
2682.找出转圈游戏输家
833.字符串中的查找与替换
88.合并两个有序数组:O(m + 1) + O(1)的做法
1572.矩阵对角线元素的和
1289.下降路径最小和 II:通俗易懂地讲解O(n^2) + O(1)的做法
1749.任意子数组和的绝对值的最大值
722.删除注释
822.翻转卡片游戏:双O(n)的做法
2050.并行课程 III:DFS
2500.删除每行中的最大值
2208.将数组和减半的最少操作次数:贪心(优先队列)
860.柠檬水找零:附C++一行代码版
1499.满足不等式的最大值:双端队列(一步步讲解)
918.环形子数组的最大和:动态规划 + 思维(反转)
874.模拟行走机器人:哈希表模拟
931.下降路径最小和:通俗思路讲解
1911.最大子序列交替和
16.最接近的三数之和:排序 + 双指针
15.三数之和:排序 + 双指针
2679.矩阵中的和:排序 + 模拟
1253.重构 2 行二进制矩阵
2496.数组中字符串的最大值
1262.可被三整除的最大和:时间O(n)空间O(1)
1254.统计封闭岛屿的数目
1375.二进制字符串前缀一致的次数
2611.老鼠和奶酪:排序 + 贪心
2352.相等行列对:手动哈希
2460.对数组执行操作
2465.不同的平均值数目:排序 + 双指针 + 哈希
2559.统计范围内的元音字符串数:前缀和
2455.可被三整除的偶数的平均值
1090.受标签影响的最大值
1073.负二进制数相加:简单算法 + 原理解析
2446.判断两个事件是否存在冲突
1072.按列翻转得到最大值等行数:不错的思维题!
1054.距离相等的条形码
2441.与对应负数同时存在的最大正整数
1010.总持续时间可被 60 整除的歌曲
2432.处理用时最长的那个任务的员工
2106.摘水果
1031.两个非重叠子数组的最大和
2418.按身高排序
1027.最长等差数列
2404.出现最频繁的偶数元素
2399.检查相同字母间的距离
2367.算术三元组的数目
1637.两点之间不包含任何点的最宽垂直面积
1574.删除最短的子数组使剩余数组有序
1630.等差子数组
2389.和有限的最长子序列
561.数组拆分 I
560.和为 K 的子数组
554.砖墙
1605.给定行和列的和求可行矩阵
2383.赢得比赛需要的最少训练时长
剑指 Offer 47.礼物的最大价值
1599.经营摩天轮的最大利润
982.按位与为零的三元组
1487.保证文件名唯一
2373.矩阵中的局部最大值
2363.合并相似的物品
1144.递减元素使数组呈锯齿状
1255.得分最高的单词集合
2357.使数组中所有元素都等于零
BUCTOJ - 2023上半年ACM&蓝桥杯每周训练题-1
2347.最好的扑克手牌
1792.最大平均通过率
2341.数组能形成多少数对
2335.装满杯子需要的最短总时长
2303.计算应缴税款总额
1824.最少侧跳次数
1817.查找用户活跃分钟数
1813.句子相似性 III
2293.极大极小游戏
1807.替换字符串中的括号内容
2351.第一个出现两次的字母

2022

2037.使每位学生都有座位的最少移动次数
2011.执行操作后的变量值
1799.N 次操作后的最大分数和
1760.袋子里最少数目的球:二分查找
1764.通过连接另一个数组的子数组得到一个数组
1785.构成特定和需要添加的最少元素
1827.最少操作使数组递增
300.最长递增子序列
1775.通过最少操作次数使数组的和相等
542.01 矩阵
1769.移动所有球到每个盒子所需的最小操作数
1779.找到最近的有相同 X 或 Y 坐标的点
813.最大平均值和的分组
809.情感丰富的文字
795.区间子数组个数
529.扫雷游戏
525.连续数组
523.连续的子数组和
518.零钱兑换 II
1732.找到最高海拔
891.子序列宽度之和
775.全局倒置与局部倒置
1710.卡车上的最大单元数
1684.统计一致字符串的数目
503.下一个更大元素 II
491.递增子序列
1620.网络信号最好的坐标
485.最大连续 1 的个数
1662.检查两个字符串数组是否相等
1773.统计匹配检索规则的物品数量
474.一和零
1822.数组元素积的符号
477.汉明距离总和
463.岛屿的周长
934.最短的桥
915.分割数组
456.132 模式
455.分发饼干
1235.规划兼职工作
452.用最少数量的箭引爆气球
448.找到所有数组中消失的数字
421.数组中两个数的最大异或值
1700.无法吃午餐的学生数量
902.最大为 N 的数字组合
406.根据身高重建队列
904.水果成篮
1441.用栈操作构建数组
769.最多能完成排序的块
381.O(1) 时间插入、删除和获取随机元素 - 允许重复
377.组合总和 Ⅳ
368.最大整除子集
870.优势洗牌
1800.最大升序子数组和
927.三等分
811.子域名访问计数
350.两个数组的交集 II:哈希表/双指针
349.两个数组的交集
347.前 K 个高频元素
1640.能否连接形成数组
309.最佳买卖股票时机含冷冻期
827.最大人工岛
304.二维区域和检索 - 矩阵不可变
289.生命游戏
275.H 指数 II
1619.删除某些元素后的数组均值
1608.特殊数组的特征值
1598.文件夹操作日志搜集器
667.优美的排列 II
228.汇总区间
2105.给植物浇水 II
1582.二进制矩阵中的特殊位置
646.最长数对链
946.验证栈序列
1470.重新排列数组
1464.数组中两元素的最大乘积
1460.通过翻转子数组使两个数组相等
209.长度最小的子数组
654.最大二叉树:654.最大二叉树(视频做了近2h😭)
1450.在既定时间做作业的学生人数
200.岛屿数量
1656.设计有序流:阅读理解
189.轮转数组
188.买卖股票的最佳时机 IV
1282.用户分组
1413.逐步求和得到正数的最小值
174.地下城游戏
167.两数之和 II - 输入有序数组
1403.非递增顺序的最小子序列
152.乘积最大子数组
150.逆波兰表达式求值
149.直线上最多的点数
952.按公因数计算最大组件大小
143.重排链表:O(1)空间的做法
1331.数组序号转换
137.只出现一次的数字 II
136.只出现一次的数字
135.分发糖果
1184.公交站间的距离
剑指 Offer II 115.重建序列
130.被围绕的区域
128.最长连续序列
123.买卖股票的最佳时机 III
1260.二维网格迁移
122.买卖股票的最佳时机 II
121.买卖股票的最佳时机
120.三角形最小路径和
119.杨辉三角 II
749.隔离病毒
118.杨辉三角
565.数组嵌套
剑指 Offer II 041.滑动窗口的平均值
1037.有效的回旋镖
735.行星碰撞
1252.奇数值单元格的数目
873.最长的斐波那契子序列的长度
108.将有序数组转换为二叉搜索树
1200.最小绝对差
871.最低加油次数
剑指 Offer II 091.粉刷房子
55.跳跃游戏
961.在长度2N的数组中找出重复N次的元素