Menu
CoddyTech

Partition Equal Subset Sum

Vous disposez d’un tableau nums d’entiers positifs. Déterminez si vous pouvez répartir les valeurs en deux groupes dont les sommes sont égales. Chaque valeur doit appartenir à un seul groupe, et un groupe peut contenir des valeurs provenant de n’importe quelles positions. Renvoyez true si une telle répartition est possible et false sinon.

Fonction

canPartition(nums: integer-array) → boolean
numsinteger-array
les valeurs positives à répartir en deux groupes
Renvoieboolean
vrai lorsque les valeurs peuvent former deux groupes de sommes égales, faux sinon

Contraintes

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

Exemples

Entrée
nums = [6, 1, 4, 9, 2]
Sortie
true
Explication
Le total est de 22, donc chaque groupe doit en avoir 11. Les groupes 9 + 2 et 6 + 1 + 4 font tous deux 11, donc la réponse est true.

lock icon+18 tests cachés à la soumission

challenge icon

Pour aller plus loin

Lorsqu’aucune répartition égale n’est possible, peux-tu renvoyer la plus petite différence possible entre les sommes des deux groupes ?

Réinitialiser le code
def canPartition(nums):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

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

Attendu

true