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

Jump Game

أنت تقف عند الفهرس 0 في المصفوفة nums. من الفهرس i يمكنك القفز إلى الأمام بأي عدد من الخطوات من 1 إلى nums[i]، لذا فإن nums[i] هو أطول قفزة يمكنك القيام بها من هناك، وتعني القيمة 0 أنك لا تستطيع التحرك. أعد true إذا أوصلتك سلسلة من القفزات إلى الفهرس الأخير، وfalse خلاف ذلك.

الدالة

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

القيود

  • 1 ≤ nums.length ≤ 104
  • 0 ≤ nums[i] ≤ 105
  • قد تكون القفزة أقصر من nums[i]، لذا فإن القفزة الطويلة لا تجبرك أبدًا على تجاوز الفهرس الأخير.

أمثلة

المدخلات
nums = [2, 0, 3, 1, 0, 2]
المخرجات
true
الشرح
من الفهرس 0 يمكنك الوصول إلى الفهرس 1 أو 2. يحتوي الفهرس 1 على 0 وهو طريق مسدود، لكن الفهرس 2 يحتوي على 3 ويصل إلى الفهرس 5، وهو الفهرس الأخير.

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

challenge icon

سؤال إضافي

احسب عدد تسلسلات القفز المختلفة التي تصل إلى الفهرس الأخير، بترديد 10^9+7، مع الحفاظ على زمن تنفيذ O(n).

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

الحالة 1

الحالة 2

الحالة 3

المدخلات

nums = [2, 0, 3, 1, 0, 2]

المتوقع

true