Menu
CoddyTech

Partition Equal Subset Sum

Kamu mendapatkan array nums berisi bilangan bulat positif. Tentukan apakah kamu bisa membagi nilai-nilai tersebut menjadi dua kelompok dengan jumlah yang sama. Setiap nilai harus masuk tepat ke satu kelompok, dan kelompok bisa mengambil nilai dari posisi mana pun. Kembalikan true jika pembagian seperti itu bisa dilakukan, dan false jika tidak.

Fungsi

canPartition(nums: integer-array) → boolean
numsinteger-array
nilai positif yang akan dibagi menjadi dua kelompok
Mengembalikanboolean
true jika nilai-nilai dapat membentuk dua kelompok dengan jumlah yang sama, false jika tidak

Batasan

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

Contoh

Input
nums = [6, 1, 4, 9, 2]
Output
true
Penjelasan
Jumlahnya 22, jadi setiap kelompok membutuhkan 11. Kelompok 9 + 2 dan 6 + 1 + 4 sama-sama berjumlah 11, jadi jawabannya true.
challenge icon

Pertanyaan lanjutan

Jika tidak ada pembagian yang sama rata, bisakah kamu mengembalikan selisih sekecil mungkin antara jumlah kedua kelompok?

Reset kode
def canPartition(nums):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

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

Output yang diharapkan

true