Menu
CoddyTech
flag Ar iconالعربيةdown icon

Partition Equal Subset Sum

لديك مصفوفة nums من أعداد صحيحة موجبة. حدّد ما إذا كان بإمكانك تقسيم القيم إلى مجموعتين متساويتين في مجموعهما. يجب أن تنتمي كل قيمة إلى مجموعة واحدة فقط، ويمكن للمجموعة أن تضم قيماً من أي مواضع. أعد true إذا وُجد مثل هذا التقسيم، وfalse خلاف ذلك.

الدالة

canPartition(nums: integer-array) → boolean
numsinteger-array
القيم الموجبة لتقسيمها إلى مجموعتين
تُرجعboolean
صحيح عندما يمكن تقسيم القيم إلى مجموعتين متساويتين في المجموع، وخطأ خلاف ذلك

القيود

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

أمثلة

المدخلات
nums = [6, 1, 4, 9, 2]
المخرجات
true
الشرح
المجموع هو 22، لذا تحتاج كل مجموعة إلى 11. المجموعتان 9 + 2 و6 + 1 + 4 تساوي كلٌّ منهما 11، لذا الإجابة هي true.

lock icon+18 اختبارات مخفية عند الإرسال

challenge icon

سؤال إضافي

عندما لا يوجد تقسيم متساوٍ، هل يمكنك إرجاع أصغر فرق ممكن بين مجموعَي المجموعتين؟

إعادة ضبط الشيفرة
def canPartition(nums):
    # اكتب الكود هنا
حالات الاختبار

الحالة 1

الحالة 2

الحالة 3

المدخلات

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

المتوقع

true