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

Find Pivot Index

لديك مصفوفة من الأعداد الصحيحة nums. فهرس الارتكاز هو فهرس يتساوى عنده مجموع القيم الموجودة على يساره مع مجموع القيم الموجودة على يمينه. ولا تنتمي القيمة عند فهرس الارتكاز إلى أي من الجانبين، ويكون مجموع الجانب الذي لا يحتوي على قيم هو 0.

أعِد فهرس الارتكاز الأيسر، أو -1 إذا لم يكن أي فهرس فهرس ارتكاز.

الدالة

pivotIndex(nums: integer-array) → integer
numsinteger-array
مصفوفة الأعداد الصحيحة المطلوب موازنتها
تُرجعinteger
مؤشر المحور الأيسر، أو ‎-1‎ إن لم يوجد

القيود

  • 1 ≤ nums.length ≤ 104
  • -1000 ≤ nums[i] ≤ 1000

أمثلة

المدخلات
nums = [3, 1, 5, 2, 2]
المخرجات
2
الشرح
عند الفهرس 2، يكون الطرف الأيسر 3 + 1 = 4 والطرف الأيمن 2 + 2 = 4. لا يتوازن الفهرس 0 والفهرس 1 (الطرف الأيسر 0 مقابل 10، والطرف الأيسر 3 مقابل 9)، لذا فإن 2 هو محور الارتكاز الأيسر.

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

challenge icon

سؤال إضافي

هل يمكنك إيجاد المحور الأيسر مع قراءة كل قيمة مرة واحدة فقط، دون جمع القيم أولًا؟ وما تكلفة ذلك من حيث الذاكرة؟

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

الحالة 1

الحالة 2

الحالة 3

المدخلات

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

المتوقع

2