题目
给定一个数字数组,你的任务是将这些数字分成若干个非空子集,使得每个子集内数字的和都相同。请找出所有可能的子集方案中,子集的数字和的最小值是多少?
输出一个整数,表示所有可能的子集方案中,子集的数字和的最小值。
示例:
输入:
7
4 3 2 3 5 2 1
输出:
5
解释:
给定数组可以分为以下两种方式:
分为4个子集:[5],[1,4],[2,3] 和 [2,3]。每个子集的数字和为5。
分为2个子集:[5, 1, 4] 和 [2, 3, 2, 3]。每个子集的数字和为10。
在这两种方案中,子集的数字和的最小值为5。
代码
function canPartitionKSubsets(nums, k, total) {
该博客介绍了如何使用JavaScript解决华为笔试中的一道动态规划问题,即找到一种方法将数字数组分成等和子集,以使子集的最小和达到最小。示例输入为7个数字,输出为5,表示存在方案让每个子集和为5。
订阅专栏 解锁全文
5340

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



