Menu
CoddyTech

Partition Equal Subset Sum

Você recebe um array nums de números inteiros positivos. Determine se é possível dividir os valores em dois grupos cujas somas sejam iguais. Cada valor deve pertencer a exatamente um grupo, e um grupo pode receber valores de quaisquer posições. Retorne true se essa divisão for possível e false caso contrário.

Função

canPartition(nums: integer-array) → boolean
numsinteger-array
os valores positivos para dividir em dois grupos
Retornaboolean
verdadeiro quando os valores podem formar dois grupos com somas iguais, falso caso contrário

Restrições

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

Exemplos

Entrada
nums = [6, 1, 4, 9, 2]
Saída
true
Explicação
O total é 22, então cada grupo precisa de 11. Os grupos 9 + 2 e 6 + 1 + 4 somam 11, então a resposta é true.

lock icon+18 testes ocultos ao enviar

challenge icon

Para ir além

Quando não houver uma divisão igual, você consegue retornar a menor diferença possível entre as somas dos dois grupos?

Redefinir código
def canPartition(nums):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

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

Esperado

true