给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。
示例 1:
输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4
输出: True
说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。
注意:
1 <= k <= len(nums) <= 16
0 < nums[i] < 10000
思路:其实就是将每一个数都遍历一遍,然后利用回溯的思想,把不满足的情况又吐出来
class Solution:
def canPartitionKSubsets(self, nums: List[int], k: int)

给定一个整数数组nums和正整数k,判断是否能将数组分成k个非空子集,使其和相等。例如,输入为nums = [4, 3, 2, 3, 5, 2, 1],k = 4,输出为True,因为可以分成子集[5], [1, 4], [2, 3], [2, 3]。该问题可以通过回溯法进行求解,遍历每个数并尝试分配到不同的子集中,若不满足条件则回溯。"
47469065,4854713,Spring+Mybatis+Struts框架整合实战指南,"['Struts2', 'Spring', 'Mybatis', 'Web开发', '框架集成']
最低0.47元/天 解锁文章
7264

被折叠的 条评论
为什么被折叠?



