Menu
CoddyTech

Partition Equal Subset Sum

中等动态规划python iconjava iconcpp iconc iconjs icon+10

你会得到一个由正整数组成的数组 nums。判断你能否将这些值分成两组,使两组的和相等。每个值只能放入一组,且一组可以取自任意位置的值。如果存在这样的分组,则返回 true,否则返回 false。

函数

canPartition(nums: integer-array) → boolean
numsinteger-array
要拆分成两组的正值
返回值boolean
当这些值可以分成两组且每组的总和相等时为 true,否则为 false

约束条件

  • 1 ≤ nums.length ≤ 200
  • 1 ≤ nums[i] ≤ 100

示例

输入
nums = [6, 1, 4, 9, 2]
输出
true
解释
总数是 22,所以每组需要 11。9 + 2 和 6 + 1 + 4 两组的和都是 11,所以答案是 true。
challenge icon

进阶

无法平均分组时,你能返回两组总和之间可能的最小差值吗?

重置代码
def canPartition(nums):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

nums = [6, 1, 4, 9, 2]

预期输出

true