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.

lock icon+18 ukrytych testów przy wysłaniu

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
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

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

Oczekiwane

true