![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode周赛复盘
文章平均质量分 91
记录周赛与复盘
大磕学家ZYX
这个作者很懒,什么都没留下…
展开
-
D361周赛复盘:模拟分割整数⭐+变为整除的最小次数⭐
总结来说就是要知道x能被num整除的等价条件,然后用布尔值记录倒着遍历过的数字,最后如果都没有但是有一个0,也需要考虑。我们可以直接倒序遍历,并且用布尔值记录之前的遍历中有没有碰到可以和当前数字(0/2/5/7)组成一对儿的数。如果整个遍历完成了,都不存在成对的00/25/50/75,但是有一个0的话,答案就是n-1。本题求的是删成特殊数字的最小次数,重点是x被25整除的等价条件。div这个数字就是用来分割的,要分割成两部分,所以。位数字之和相等,则认为这个数字是一个对称整数。,用%的操作累加每一位数字。原创 2023-09-07 21:34:06 · 416 阅读 · 0 评论 -
D360周赛复盘:模拟(思维题目)⭐⭐+贪心解决可能的最小和(类似上次)
这个解法的核心思想是,为了达到最远的距离,应该尽可能地选择一个方向移动。次之后,请你找出可以到达的距离原点。本题就和上次周赛的贪心很像了,求得也是。返回符合条件的美丽数组所可能具备的。字符串表示你在一条原点为。和上次周赛代码基本相同,求的都是。,所以需要从最小的数字开始取!满足下述条件,则称其为。的数轴上的若干次移动。你的初始位置就在原点(原创 2023-09-01 22:22:35 · 303 阅读 · 0 评论 -
D359周赛复盘:贪心解决求最小和问题⭐⭐+较为复杂的双层线性DP⭐⭐
如果用 dp[i] 而不是 dp[i + 1]来表示的话,那 dp[0]的意思就是不超过编号为0的。的含义是:dp[i+1]表示销售编号不超过i的房屋的最大盈利。正整数组成的数组,如果其中不存在任何求和等于 k 的不同元素对,则称其为。因为求解的是可能的最小和,所以都是贪心来做。,但是下标不能是-1,所以就要把 dp 数组的下标移一下 , 让它别越界。,即根本不存在以房屋i为结尾的方案,但是dp[i+1]最少也要=dp[i]同一所房屋不能卖给不同的买家,并且允许保留一些房屋不进行出售。原创 2023-09-01 22:21:34 · 764 阅读 · 0 评论 -
D358周赛复盘:哈希表模拟⭐⭐+链表乘法翻倍运算(先反转)⭐⭐⭐
这种方法的好处是我们只需要遍历两次链表,一次是反转,一次是翻倍处理,所以总体的时间复杂度是 O(n),其中 n 是链表的长度。在完成上述的翻倍处理后,链表仍然是反转的状态,所以我们需要再次反转它以得到正确的答案。但是java中没有既可以自动排序,又可以用下标取的数据类型。本题用java解法通过,但是cpp同样的写法,不知道为啥超时了。返回最大和,如果不存在满足题意的数字对,返回。的一对数,且这两个数数位上最大的数字相等。,请你反转链表,并返回反转后的链表。的两个元素之间的差值绝对值的。原创 2023-09-01 22:20:31 · 257 阅读 · 0 评论 -
D357周赛复盘:模拟双端队列反转⭐⭐+贪心
如果最后的插入方向是在头部(即。原创 2023-09-01 22:17:38 · 228 阅读 · 0 评论 -
D356周赛复盘:滑动窗口+三元问题思路
文章目录2798.满足目标工作时长的员工数目完整版2799.统计完全子数组的数目(滑动窗口)思路完整版2800.包含三个字符的最短字符串(复用思路与三元问题思想)思路复用减少字符串长度的思路为什么一次性操作两个字符串完整版进一步理解”三元问题一次只操作两个字符串“复用逻辑2798.满足目标工作时长的员工数目公司里共有 n 名员工,按从 0 到 n - 1 编号。每个员工 i 已经在公司工作了 hours[i] 小时。公司要求每位员工工作 至少 target 小时。给你一个下标从 0 开始、长度为 n原创 2023-07-31 16:23:23 · 133 阅读 · 0 评论 -
D355周赛复盘:模拟题*2
本题的思路就是模拟法,可以直接调用c++的getline库函数,getline函数也就是处理输入流字符串的分割,并把分割好的字符串存在第二个参数item中。的情况,例如[5,3,3]和[2,3,4]这样的情况,就是先进行后面的3+4,再把3+4的结果和2相加,得到9。变量的具体处理,例如打印出来,或者存储到其他数据结构中等等,这取决于你的程序需要完成的具体任务。并不正式地被归类为STL容器,但是它在很大程度上是遵循和实现了STL容器的接口和使用方式的。换句话说,它读取的是逗号分隔的一段文本。原创 2023-07-24 18:59:54 · 86 阅读 · 0 评论 -
D354周赛复盘:特殊元素平方和+数组最大美丽值(滑动窗口)+合法分割最小下标
当我们直接改成初始值i=1,又会出现结果错误原因是从示例中我们看出,nums[4]是最后一个元素,也就是说本题的下标并不是按照普通数组的形式,而是与数字顺序一致,题目里的数组下标特殊含义也要注意。因此,本题的for循环应该从i=1开始遍历,一直到i=nums.size()。内部求平方和的逻辑直接用nums[i-1]进行计算。投票法是一种用于找出数组中多数元素的算法,这个算法的基本原理是:如果一个元素是数组的多数元素(出现次数超过数组长度的一半),那么即使我们把它和其他每个不同的元素一一抵消。原创 2023-07-19 21:54:41 · 1132 阅读 · 0 评论 -
D347周赛复盘:移除字符串中的尾随零+对角线上不同值的数量差
题外话:最近阳了发烧头晕恶心,学习很难推进,大家平常状态好的时候还是不要摆烂,不要像博主一样阳了还得苦哈哈地补进度……中的每个单元格,然后分别统计左上对角线和右下对角线上的不同元素的数量,并计算它们之差的绝对值,最后将结果保存在答案矩阵中。因此,通过这种方式,我们可以遍历左上对角线上的单元格,并在每次迭代中执行一些操作,如将元素添加到集合中。是从最顶行或最左列的某个单元格开始 ,向右下方向走到矩阵末尾的对角线。,请你以字符串形式返回不含尾随零的整数。的值,以便访问左上对角线上的其他单元格。原创 2023-06-01 00:17:57 · 54 阅读 · 0 评论 -
D348周赛复盘:最小化字符串长度+半有序排列+查询矩阵和
覆盖错误是会出现的,但是,这道题目的含义是求解矩阵中所有矩阵的和,并不需要覆盖正确。当求和的时候,4所在的行已经被排除掉了,4的覆盖错误并不会影响最后的求和。倒序遍历的做法会导致矩阵的覆盖是错误的,但是我们并不需要考虑最终的矩阵是不是覆盖正确的矩阵,我们只需要求和就可以了。例如下图的情况,对于左上角元素4,是先行操作再列操作,但是倒序遍历会使得4这个元素的位置覆盖是错误的。find()属于头文件中的算法,可以作用于所有的序列式容器,例如数组,vector,list等。的类型,它们实际上是迭代器类型。原创 2023-06-05 03:21:57 · 80 阅读 · 0 评论 -
D349周赛:注意题目提示里,数据范围隐含的算法复杂度提示
这意味着,如果某种类型的巧克力的成本比较高,我们可以通过一些操作使得它被替换成其他类型的巧克力,这样就可以降低总的收集成本。在这种情况下,最好的策略就是尽可能保留字典序较小的字符,也就是只将最后一个’a’替换为’z’,得到"az"。因为’z’在字母表中的位置较后,所以"az"是在执行一次操作后能得到的字典序最小的字符串。这个写法存在的问题在于,当输入"aa"的时候,预期输出是"az",而不是"aa"。,表示收集不同巧克力的成本。然后,它找出了这些成本中的最小值,这就是收集所有类型巧克力所需的最小成本。原创 2023-06-12 21:55:12 · 659 阅读 · 0 评论 -
D351周赛复盘:美丽下标对数目(互质/数学运算)+数组划分若干子数组
所以编译器会报这个错误。在这种情况下,我们应。原创 2023-06-25 15:17:43 · 476 阅读 · 0 评论 -
D352周赛复盘:重点是双指针滑动窗口+质数判断
质数是一个自然数,且除了1和它本身以外没有其他因数。换句话说,如果一个数大于1,且只有两个正因数(1和它本身),那么它就是一个质数。例如,2、3、5、7、11、13等都是质数。注意,1和0不是质数。根据质数的定义,质数p的倍数必然有其他因数(至少包括p本身),所以它们不可能是质数。因此,我们在使用埃拉托斯特尼筛法求质数时,对于每一个已知的质数p,都需要将所有p的倍数标记为非质数。例如,当p=2时,我们将所有2的倍数(即所有偶数)标记为非质数。原创 2023-07-03 20:19:10 · 351 阅读 · 0 评论