Menu
CoddyTech

Partition Equal Subset Sum

Ti viene fornito un array nums di interi positivi. Decidi se puoi dividere i valori in due gruppi con somme uguali. Ogni valore va in esattamente un gruppo e un gruppo può contenere valori provenienti da qualsiasi posizione. Restituisci true se esiste una divisione di questo tipo e false altrimenti.

Funzione

canPartition(nums: integer-array) → boolean
numsinteger-array
i valori positivi da dividere in due gruppi
Restituisceboolean
true quando i valori possono formare due gruppi con somme uguali, false altrimenti

Vincoli

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

Esempi

Input
nums = [6, 1, 4, 9, 2]
Output
true
Spiegazione
Il totale è 22, quindi ogni gruppo deve avere 11. I gruppi 9 + 2 e 6 + 1 + 4 fanno entrambi 11, quindi la risposta è true.
challenge icon

Per approfondire

Quando non esiste una suddivisione equa, puoi restituire la differenza più piccola possibile tra le somme dei due gruppi?

Ripristina il codice
def canPartition(nums):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomento

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

Output atteso

true