【Leetcode Daily】725分隔链表
发表于|更新于|力扣日常 | LeetcodeDaily
|总字数:252|阅读时长:1分钟|浏览量:
题目浅析
想查看原题可以点击题目链接。
简单地说,就是给一个链表和数字 k,现在要把这个链表分成 k 份,要求每份的节点数尽量平均,前面的节点数一定不小于后面的,相差不超过 1.
思路分享
- 在计算出每份的平均数后,双指针,一个定位头,另一个定位尾,头放答案,尾来断 next。
代码解答(强烈建议自行解答后再看)
- 参考题解
1 | # Definition for singly-linked list. |
文章作者: 陆爻齐-LuYaoQi
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LuYaoQi's Blogs!
相关推荐

2025-11-25
【Leetcode Daily】1290二进制链表转整数
题目浅析 想查看原题可以点击题目链接。 简单地说,就是用链表存储二进制数,现在给你链表,请你给出所代表的二进制数的十进制表现。 思路分享 二进制转十进制的方法很简单,起始为 0,取数加上去,乘二,再取数加上去直到取尽。至于遍历链表,只要 head != None,head = head.next 即可。 https://leetcode.cn/problems/convert-binary-number-in-a-linked-list-to-integer/solutions/3723060/bian-li-lian-biao-pythonjavaccgojsrust-b-ykjd/ 代码解答(强烈建议自行解答后再看) 参考题解 12345678910111213# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next =...

2025-11-26
【Leetcode Daily】2058找出临界点之间的最小和最大距离
题目浅析 想查看原题可以点击题目链接。 简单地说,就是给一个长度至少为二的链表,其中可能存在局部的极大点或者极小点,返回极值点之间的最小距离和最大距离 思路分享 用 first 和 last 记录已经遍历到的最早和最晚的极值点,那么最大距离就是这两个之差,但是最小距离需要实时计算,每次可以拿新的极值点与 last 做差更新。 https://leetcode.cn/problems/find-the-minimum-and-maximum-number-of-nodes-between-critical-points/solutions/1075991/go-mo-ni-bian-li-lian-biao-bian-li-lin-j-rx9s/ 代码解答(强烈建议自行解答后再看) 参考题解 123456789101112131415161718192021# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# ...

2025-11-27
【Leetcode Daily】2181合并零之间的节点
题目浅析 想查看原题可以点击题目链接。 简单地说,就是给一个链表,将其中两个为零的节点之间的节点合成一个节点,节点和为其值。 思路分享 我的思路是单指针遍历节点,将遇到非零值纳入新链表;灵茶山艾府的方法是双指针,一个指针指第一个 0,另一个指针向后遍历,遇到的非零值加到第一个指针上,遇到零则更新第一个指针到第二个指针的位置,直接原地修改。 https://leetcode.cn/problems/merge-nodes-in-between-zeros/ 代码解答(强烈建议自行解答后再看) 参考题解 123456789101112131415161718192021222324252627282930313233# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def...

2025-11-29
【Leetcode Daily】817链表组件
题目浅析 想查看原题可以点击题目链接。 简单地说,就是给一个链表和一个数组,链表中的每个节点都是唯一值的整数,数组中有链表的子集,求链表中连续的在数组中的节点块数(组件数)。 思路分享 首先想到的思路,是用两个指针,一个找开头,另一个定结尾;但写得比较复杂容易错,另一个种用标志位的思路写着就又简单又快捷。 https://leetcode.cn/problems/linked-list-components/solutions/2916297/jian-dan-biao-zhi-wei-bian-li-by-zhi-ma-hh3ax/ 代码解答(强烈建议自行解答后再看) 参考题解 123456789101112131415161718192021222324252627282930313233343536373839# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# ...

2025-04-24
【Leetcode Daily】1052爱生气的书店老板
题目浅析 想查看原题可以点击题目链接。 简单地说,就是给两个整型数组,以及一个整数 minutes,按某个要求(具体看原题,难以简化),求一个数组在另一个数组和 minutes 约束下的求的最大值。 思路分享 陆爻齐的思路是计算窗口内(也就是冷静的分钟)不满意生气离开的最大值,加上不生气的心情值,再减去所有生气离开的数值得出答案,但由于思想复杂了点,所以略微修改模板结构,也就是下面陆爻齐的答案。 参照灵茶山艾府,其实只要区分开两部分相加即可,然后直接参照模板。这两部分,一个是不生气的值,一个是生气下的值,取生气下最大值即可。这样就不用像上面一样多一次运算。 https://leetcode.cn/problems/grumpy-bookstore-owner/solutions/2751888/ding-chang-hua-dong-chuang-kou-fu-ti-dan-rch7/ 代码解答(强烈建议自行解答后再看) 陆爻齐的解法 12345678910111213141516171819202122232425class Solution...

2025-04-28
【Leetcode Daily】1297子串的最大出现次数
题目浅析 想查看原题可以点击题目链接。 简单地说,就是给一个字符串,求满足要求的子串中,出现最多的次数。该要求为 1. 内部的字母数量小于 maxLetters;2. 整个字符串的长度在 minSize 和 maxSize 之间(闭区间)。 思路分享 该题的难度在于干扰项 maxSize,由于求子串尽可能多的出现,所以该子串的长度必然越小越好,就是 minSize。 就是定长滑动窗口(【Leetcode Daily】1456定长子串中元音的最大数目),有了个字母数量不大于 maxLetters 的限制,再用哈希统计满足要求字符串出现的次数即可。 代码解答(强烈建议自行解答后再看) 陆爻齐的解法 1234567891011121314151617181920212223242526272829class Solution {public: int maxFreq(string s, int maxLetters, int minSize, int maxSize) { vector<int>...
公告
希望你我都能得偿所愿
PS:相对流水账的文章只能在归档找得到
系列文章
