
优选算法题目
文章平均质量分 64
阿猿刷题之旅。
阿猿收手吧!
C++领域新星创作者 博客之星2023入围者 数据结构与算法领域内容榜第38名 总访问量40W
展开
-
【力扣系列题目】最后一块石头的重量 分割回文串 验证回文串 等差数列划分{最大堆 背包 动态规划}
【力扣系列题目】最后一块石头的重量 分割回文串 验证回文串 等差数列划分{最大堆 背包 动态规划}原创 2025-01-29 13:10:07 · 914 阅读 · 0 评论 -
【力扣系列题目】粉刷房子 买卖股票的最佳时机
逆向思维:我在第i天卖掉,要想获得最大利润,需要在之前的最低点买入。正向思维:我今天买了,遍历之后的每天找到最大值卖出即可。原创 2025-01-22 14:58:05 · 925 阅读 · 0 评论 -
【力扣系列题目】不同路径 组合总和 最大连续1个数 打家劫舍{持续更新中...}
【代码】【力扣系列题目】不同路径 组合总和 最大连续1个数 打家劫舍{持续更新中...}原创 2025-01-21 19:33:57 · 877 阅读 · 0 评论 -
【面试题/牛客周赛】衣橱整理/机器人的运动范围 串串香 小红的gcd 奇偶调整 幂次进近 快速幂
求出一个字符串的所有子串问题。原创 2025-01-20 10:45:01 · 277 阅读 · 0 评论 -
【力扣周赛】跳过交替单元格的之字形遍历 机器人可以获得的最大金币数 使每一列严格递增的最少操作次数 变长子数组求和 最多 K 个元素的子序列的最值之和{题解分享}
不卡时间限制时 下述方法应该是正确的。原创 2025-01-20 09:50:32 · 455 阅读 · 0 评论 -
【力扣-递归/搜索/回溯/动态规划】不同路径+组合总和{题解分享}
代码思路清晰,适合小白。原创 2025-01-19 10:05:20 · 494 阅读 · 0 评论 -
【牛客/力扣竞赛】小红的正整数计数 小红的双生排列 万年沉睡的宝藏 完美主义追求者 最长乘积等价子数组{简单题 题解}
在区间 [1, x]内,能够被y整除的数字是:y,2y,3y,·…,ny,其中 n = x/y向下取整。当n大于等于M,n的阶乘一定有一位是M,M%M==0,导致最后n!区间 [1,x] 内有多少是 y 的倍数:x/y向下取整 个。原创 2025-01-11 16:57:06 · 302 阅读 · 0 评论 -
【编程/竞赛常识】代码初始化模板{ACM赛制}
竞赛代码模板原创 2025-01-06 11:57:12 · 818 阅读 · 0 评论 -
【编程/竞赛常识】C语言中数组能开多大?
2M~8M;5e5 ~ 2e6原创 2025-01-06 11:13:25 · 320 阅读 · 0 评论 -
【算法-动态规划&&贪心&&双指针】买卖股票的最佳时机
逆向思维:我在第i天卖掉,要想获得最大利润,需要在之前的最低点买入。正向思维:我今天买了,遍历之后的每天找到最大值卖出即可。原创 2025-01-02 10:48:23 · 372 阅读 · 0 评论 -
【滑动窗口】找到字符串中所有字母异位词
【滑动窗口】找到字符串中所有字母异位词原创 2024-11-26 23:28:54 · 271 阅读 · 0 评论 -
【算法-动态规划】买卖股票的最佳时机
动态规划之买卖股票的最佳时机原创 2024-10-23 14:20:11 · 403 阅读 · 0 评论 -
【算法-动态规划】打家劫舍专题
动态规划之打家劫舍原创 2024-10-16 09:09:30 · 538 阅读 · 0 评论 -
【算法】约瑟夫环
100//递推公式这里不写【(get(n - 1, m) + m) % n 】的原因是编号从1开始 自己演算可得// 1-n编号 1-m报数 m出圈 最后出圈者编号int main()//s取1return 0;// 0-n-1编号 0-m-1报数 m-1出圈 最后出圈者编号// i个孩子围成一圈 最后出圈者public:public:int dp = 0;i原创 2024-04-20 13:06:38 · 412 阅读 · 0 评论 -
【滑动窗口】串联所有单词的子串
前续的铺垫后续的高潮。原创 2024-04-07 21:59:55 · 455 阅读 · 0 评论 -
【leetcode】将x减到0的最小操作数/水果成篮/找到字符串中所有字母异位词{史上最容易懂的解析}
效率尽可能高的代码 ➕ 史上最容易理解的解析原创 2024-04-03 23:52:43 · 741 阅读 · 2 评论 -
最大连续1的个数 Ⅲ【滑动窗口】
共识:【滑动区间的长度即连续1的个数】。这道题其实很有趣,写题就不要怕题,混社会就不要怕事。看这道题:其实就是个滑动窗口,只要0的个数不超k,0就能当1用,一旦0的个数超k,那么要求的长度已达到,此时我们要:1. 让该区间的最左值出窗口。2. 如果该区间的最左值还为0,那么他出窗口的同时,记录的0的个数还要–;原创 2024-04-01 20:16:06 · 1265 阅读 · 0 评论 -
无重复字符的最长子串【哈希/滑动窗口】
2. 原来子串中出现了重复字符,不知道与right重复的字符在哪里,例如:abcdd,a做起始位置的【长度】为4,a出窗口,b作为起始位置,仍有重复字符,b直接出窗口==》b在a后面,b到right的长度肯定小于a到right,顾只要没有去除重复字符,就一直往后移动就行了,不用更新b做起始位置的长度。【暴力求解】中提到,遍历数组,把每一个元素作为【结果区间】的首元素,依次顺序添加直到满足条件,记录将该元素作为【结果区间】首元素下【结果区间】的长度,遍历结束后,在取这些值的最小值即为结果。原创 2024-04-01 19:36:56 · 1026 阅读 · 0 评论 -
⻓度最⼩的⼦数组【滑动窗口】
现在我们细思【暴力求解】的过程,当把arr[0]作为【结果区间】的首元素时,我们计算求和了一部分值,当下一轮把arr[1]作为【结果区间】的首元素时,我们又重新计算了在第一轮中计算过的值,这就是【暴力求解】效率低下的原因。【暴力求解】中提到,遍历数组,把每一个元素作为【结果区间】的首元素,依次顺序添加直到满足条件,记录将该元素作为【结果区间】首元素下【结果区间】的长度,遍历结束后,在取这些值的最小值即为结果。这道题要求的是一个区间 是区间就有【第一个元素】 即起始位置。如此大大的减少了计算的次数。原创 2024-03-30 19:31:09 · 448 阅读 · 0 评论 -
四数之和【双指针】
【代码】四数之和【双指针】原创 2024-03-29 09:48:09 · 289 阅读 · 0 评论 -
三数之和【双指针】
【代码】三数之和【双指针】原创 2024-03-28 23:26:25 · 240 阅读 · 0 评论 -
查找总价格为目标值的两个商品【双指针】
这道题实际上跟本专栏上一题属于同一类型,是上一题的简单版,可以点击跳跃。对撞指针:思路和上篇一致。原创 2024-03-28 21:14:06 · 232 阅读 · 0 评论 -
有效三角形的个数【双指针】
如果能构成三⻆形,需要满⾜任意两边之和要⼤于第三边。实际上只需让即可。将原数组排序,从⼩到⼤枚举三元组,这样三层 for 循环枚举出的三元组只需判断较⼩的两条边之和是否⼤于第三边。原创 2024-03-27 20:39:05 · 382 阅读 · 0 评论 -
盛⽔最多的容器【双指针】
向内移动短板(假设该短板的下标为x,此时右边界的下标为y),实际上是舍去了将x作为左边界到y-1的集合,即暴力求解是n边取2边的所有取值的集合,这个解法是每一步舍去不会作为较大值的集合。【x, x+1】这些集合中所有取值的底边都比已经作为较大值的【x, y】的底边小,所有的高度都比已经作为较大值的【x, y】的高度小或者等于。只要移动一边,底肯定变小,如果还是移动高的一边,不仅底小了,高也小了,如果移动地的一边,虽然底小了,但是高大了,即若向内移动短板,下个水槽的面积可能增大。我是搜了资料了解的。原创 2024-03-26 21:50:09 · 337 阅读 · 0 评论 -
快乐数【双指针】
当走完一个循环周期,判断是不是因为 1 引起的循环,是的话就是快乐数,否则不是快乐数。不是快乐数的:无论经过多少次都不会到1,即他陷入了重复数据段的死循环,如上例中的2。“慢指针” 每次走一步,当二者相等时,即为一个循环周期。是快乐数的:经过x次平方替换后会陷入1的死循环。出现了重复的数字,最后结果肯定不会是 1。原创 2024-03-25 19:44:54 · 178 阅读 · 0 评论 -
复写0【双指针】
【代码】复写0【双指针】原创 2024-03-24 23:40:50 · 366 阅读 · 0 评论 -
移动0【双指针】
cur每次走一步,dest走不走取决于cur有没有找到非0值,一旦找打非0值,交换。不是非0值,dest不动。==》【非零,dest】【dest,0】原创 2024-03-24 22:29:29 · 232 阅读 · 0 评论