leetcode medium

Espresso Macchiato12 天前
滑动窗口·leetcode medium·leetcode 3741·leetcode周赛475
Leetcode 3741. Minimum Distance Between Three Equal Elements II这一题是leetcode周赛475的第二题,是一个medium的题目,也是第一题3740. Minimum Distance Between Three Equal Elements I的一个复杂版本,不过两道题本质上只有复杂度要求上有一点区别。
Espresso Macchiato2 个月前
leetcode medium·异或操作·leetcode 3702·leetcode周赛470
Leetcode 3702. Longest Subsequence With Non-Zero Bitwise XOR这一题我们只需要从左往右依次计算每一个位置上的累积异或值即可。其结果只有两种情况:给出python代码实现如下:
Espresso Macchiato2 个月前
滑动窗口·leetcode medium·leetcode双周赛166·leetcode 3694
Leetcode 3694. Distinct Points Reachable After Substring Removal这一题思路上就是一个滑动窗口的思路,我们首先计算出终点的位置,然后考察每一个连续长为 k k k的窗口的位移改变量,然后减去对应的改动量即可。
Espresso Macchiato2 个月前
leetcode medium·分类讨论·leetcode周赛469·leetcode 3698
Leetcode 3698. Split Array With Minimum Difference这一题思路上就是一个分类讨论。要想要分成左右两个递增和递减数列,我们首先需要从左往右以及从右往左分别考察最长的递增以及递减序列的长度。
Espresso Macchiato3 个月前
动态规划·leetcode medium·leetcode 3665·leetcode双周赛164
Leetcode 3665. Twisted Mirror Path Count这一题相较于上一题就直接很多了,就是一个动态规划,直接写就行了。给出python代码实现如下:提交代码评测得到:耗时耗时2733ms,占用内存306.37MB。
Espresso Macchiato3 个月前
动态规划·质因数分解·leetcode medium·leetcode 3669·leetcode周赛465
Leetcode 3669. Balanced K-Factor Decomposition这一题思路上同样还是比较直观的,就是分两步:其中,关于第一步,我们只需要提前计算出所有的质因数,然后遍历一下看看 n n n的所有质因数的分布即可。
Espresso Macchiato4 个月前
leetcode medium·位操作·数组排序·leetcode 3644·leetcode周赛462
Leetcode 3644. Maximum K to Sort a Permutation这一题核心在于说想明白要如何进行排序,问题的最终目标是将整个数组变得有序,因此原始数组当中所有位置与最终位置不同的数都需要被重新排序,也就是说这其中的任意两个数的位和的结果均至少要大于等于 k k k,否则就不存在一种交换方式能够交换这两个数。
Espresso Macchiato4 个月前
bfs·广度优先遍历·leetcode medium·leetcode 3629·leetcode周赛460·质数求解·质因素分解
Leetcode 3629. Minimum Jumps to Reach End via Prime Teleportation这一题思路上还是比较直接的,就是一个广度优先遍历,考察各条路径当中最先到达终点的走法。但是,要进行路径的遍历,我们需要提前计算出jump点,也就意味着我们必须要提前找出所有的素数节点以及其对应的可以跳跃的位置,即对于那些非素数的节点,我们要找出他们各自都有哪些质因素才行。
Espresso Macchiato5 个月前
leetcode medium·leetcode 3572
Leetcode 3572. Maximize Y‑Sum by Picking a Triplet of Distinct X‑Values这周的双周赛简直了,4道题居然只做出了一题,看着都是动态规划,但是直接的动态规划基本都无法搞定了,必须要在其中的迭代公式上做大幅的优化才行,感觉真的,deepseek问世之后感觉leetcode上面的题目真的越来越难了,然后还经常被LLM完虐,真的心累,有时候真的不知道自己在坚持些啥……
Espresso Macchiato6 个月前
剪枝·广度优先遍历·leetcode medium·堆排·leetcode周赛452·leetcode 3568
Leetcode 3568. Minimum Moves to Clean the Classroom这一题我的核心思路就是广度优先遍历遍历+剪枝。显然,我们可以给出一个广度优先遍历来给出所有可能的走法直至无法继续或者捡完所有垃圾。
Espresso Macchiato6 个月前
leetcode·leetcode medium·leetcode周赛452·leetcode 3567
Leetcode 3567. Minimum Absolute Difference in Sliding Submatrix这一题想了一下,没想到啥好的思路,就是暴力直接求解了一下,直接一个三重循环强行求取了一下答案。唯一可以谈得上优化的就是在滑动过程中通过控制有序数列的方式来优化临近值的求解。
Espresso Macchiato6 个月前
动态规划·leetcode medium·leetcode 3566·leetcode周赛452
Leetcode 3566. Partition Array into Two Equal Product Subsets这一题我的实现还是比较暴力的,首先显而易见的,若要满足题目要求,则给出的数组的所有元素的乘积必然是target的平方,因此,我们可以快速由此判断该数组是否可分。
Espresso Macchiato6 个月前
动态规划·leetcode medium·leetcode 3557·leetcode双周赛157
Leetcode 3557. Find Maximum Number of Non Intersecting Substrings这一题就是一个比较直接的动态规划的题目,我们只需要考察每一个位是否可以作为一个子串的开头,如果可以那么比较其被取用以及不被取用时的较大值将其进行返回,如果不可以,那么直接返回其不被取用时的值即可。
Espresso Macchiato6 个月前
广度优先遍历·leetcode medium·leetcode周赛450·leetcode 3552·堆排
Leetcode 3552. Grid Teleportation Traversal这一题的话核心就是一个广度优先遍历,我们只需要从原点开始,一点点考察其所能到达的位置,直至其最终到达终点即可。
Espresso Macchiato6 个月前
leetcode·排序·leetcode medium·leetcode 3551·leetcode周赛450
Leetcode 3551. Minimum Swaps to Sort by Digit Sum这一题思路上我实现的非常暴力,就是先求出正确的排列,然后从头考察每一个元素是否处在其目标位置上,如果没有,则给出一次置换。
Espresso Macchiato6 个月前
leetcode·leetcode medium·图遍历·leetcode 3543·leetcode双周赛156
Leetcode 3543. Maximum Weighted K-Edge Path这一题思路上就是一个遍历的思路,我们只需要考察每一个节点作为起点时,所有长为 k k k的线段的长度,在符合条件的结果当中选出最大值即可。
Espresso Macchiato7 个月前
leetcode medium·dsu·leetcode 3532·leetcode周赛447·uf
Leetcode 3532. Path Existence Queries in a Graph I这一题算是一个比较典型的DSU的题目,我们就是不断地根据前后节点的距离将其进行聚类,然后考察query当中的两个节点是否属于同一个簇即可。
Espresso Macchiato7 个月前
leetcode··leetcode medium·leetcode 3523·leetcode周赛446
Leetcode 3523. Make Array Non-decreasing这一题思路上来说就是一个栈的问题,就是从后往前依次考察每一个元素,显然,当前位置要么被舍弃,要么被保留,但是无论如何其对应位置一定会留下一个至少不小于当前元素大小的新元素,因此,后续所有比起更小的元素都无法被保留。
Espresso Macchiato10 个月前
leetcode·动态规划·leetcode medium·leetcode 3418·leetcode周赛432
Leetcode 3418. Maximum Amount of Money Robot Can Earn这一题我的思路比较暴力,就是一个动态规划,本质上就是全量遍历,然后找到最优路径。给出python代码实现如下:
Espresso Macchiato1 年前
leetcode·z算法·leetcode medium·leetcode周赛428·leetcode 3388
Leetcode 3388. Count Beautiful Splits in an Array这一题我的思路还是比较暴力的,首先,我们通过z算法,可以很快找到所有满足subarray 1为subarray 2的prefix的全部可能的分割方法。