Menu
CoddyTech

Burst Balloons

يُعطى صف من البالونات على هيئة nums، حيث nums[i] هو الرقم الموجود على البالون i. تفجّرها جميعًا، واحدًا تلو الآخر، بأي ترتيب. يمنحك تفجير بالون left × nums[i] × right من العملات، حيث left وright هما الرقمان الموجودان على جارَيْه الحاليين، أي أقرب بالون على كل جانب ما زال في الصف. يُحسب الجار المفقود على أنه 1. بعد تفجير بالون، يصبح جاراه متجاورين. أعد أكبر عدد من العملات يمكنك جمعه.

الدالة

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

القيود

  • 1 ≤ nums.length ≤ 300
  • 0 ≤ nums[i] ≤ 100
  • الإجابة أقل من 3 × 108، لذا فهي تلائم عددًا صحيحًا موقّعًا من 32 بت.

أمثلة

المدخلات
nums = [2, 4, 3]
المخرجات
33
الشرح
فجّر الرقم 4 لتحصل على 2 × 4 × 3 = 24. الرقم 2، الموجود الآن بجانب الرقم 3، يساوي 1 × 2 × 3 = 6، والرقم 3 يساوي 3: المجموع 33.
challenge icon

سؤال إضافي

هل يمكنك أيضًا إرجاع ترتيب واحد يحقق أكبر عدد من العملات؟

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

اختبار #1

اختبار #2

اختبار #3

وسيط

nums = [2, 4, 3]

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

33