Menu
CoddyTech

Partition Equal Subset Sum

Recibes un arreglo nums de enteros positivos. Decide si puedes dividir los valores en dos grupos cuyas sumas sean iguales. Cada valor va exactamente en un grupo, y un grupo puede tomar valores de cualquier posición. Devuelve true si existe una división así y false en caso contrario.

Función

canPartition(nums: integer-array) → boolean
numsinteger-array
los valores positivos que se deben dividir en dos grupos
Devuelveboolean
verdadero cuando los valores pueden formar dos grupos con sumas iguales; falso en caso contrario

Restricciones

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

Ejemplos

Entrada
nums = [6, 1, 4, 9, 2]
Salida
true
Explicación
El total es 22, así que cada grupo necesita 11. Los grupos 9 + 2 y 6 + 1 + 4 suman ambos 11, así que la respuesta es true.

lock icon+18 pruebas ocultas al enviar

challenge icon

Para ir más allá

Cuando no existe una división en partes iguales, ¿puedes devolver la menor diferencia posible entre las sumas de los dos grupos?

Restablecer código
def canPartition(nums):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

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

Esperado

true