Menu
CoddyTech

Subset Sum Problem

تحتوي nums على أعداد صحيحة موجبة، وtarget عدد صحيح موجب. هل يمكنك اختيار بعض القيم، بحيث تختار كل موضع مرة واحدة على الأكثر، لكي يكون مجموعها مساويًا تمامًا لـ target؟ أعد true إذا أمكنك ذلك، وfalse إذا لم ينجح أي اختيار.

الدالة

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

القيود

  • 1 ≤ nums.length ≤ 200
  • 1 ≤ nums[i] ≤ 104
  • 1 ≤ target ≤ 104

أمثلة

المدخلات
nums = [8, 3, 11, 5, 7]target = 15
المخرجات
true
الشرح
8 + 7 = 15، لذا فالإجابة هي true. وينجح أيضًا اختيار 3 + 5 + 7؛ اختيار واحد يكفي.
challenge icon

سؤال إضافي

تُعَدّ قيمتان متساويتان في موضعين مختلفين اختيارين مختلفين. كم اختيارًا يصل إلى target؟

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

اختبار #1

اختبار #2

اختبار #3

الوسائط

nums = [8, 3, 11, 5, 7]
target = 15

الإخراج المتوقع

true