Menu
CoddyTech

Partition Equal Subset Sum

Otrzymujesz tablicę nums dodatnich liczb całkowitych. Zdecyduj, czy możesz podzielić wartości na dwie grupy o równych sumach. Każda wartość trafia dokładnie do jednej grupy, a grupa może zawierać wartości z dowolnych pozycji. Zwróć true, jeśli taki podział istnieje, a w przeciwnym razie false.

Funkcja

canPartition(nums: integer-array) → boolean
numsinteger-array
wartości dodatnie do podziału na dwie grupy
Zwracaboolean
true, gdy wartości można podzielić na dwie grupy o równych sumach, w przeciwnym razie false

Ograniczenia

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

Przykłady

Wejście
nums = [6, 1, 4, 9, 2]
Wyjście
true
Wyjaśnienie
Suma wynosi 22, więc każda grupa potrzebuje 11. Grupy 9 + 2 oraz 6 + 1 + 4 dają po 11, więc odpowiedź to true.
challenge icon

Pytanie dodatkowe

Gdy nie da się podzielić na równe grupy, czy możesz zwrócić najmniejszą możliwą różnicę między sumami obu grup?

Zresetuj kod
def canPartition(nums):
    # Wpisz kod tutaj

Test #1

Test #2

Test #3

Argument

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

Oczekiwany wynik

true