Leetcode 3659. Partition Array Into K-Distinct Groups
- Leetcode 3659. Partition Array Into K-Distinct Groups
- 1. 解题思路
- 2. 代码实现
- 题目链接:3659. Partition Array Into K-Distinct Groups
1. 解题思路
这一题其实想想清楚的话还是挺直接的,显然,要能够成功分组,总的元素个数显然必须是kkk的倍数。
然后,我们只需要看重复频率最多的元素出现的次数mmm,如果m×k>nm\times k > nm×k>n,那么显然也无法将其成功分组。但是,反之,如果m×k≥nm\times k \geq nm×k≥n,那么,我们不难证明,分组总是可以实现的。
2. 代码实现
给出python代码实现如下:
class Solution:def partitionArray(self, nums: List[int], k: int) -> bool:n = len(nums)if n % k != 0:return Falsecnt = Counter(nums)m = max(cnt.values())return m * k <= n
提交代码评测得到:耗时46ms,占用内存35.80MB。