Menu
CoddyTech

Two Sum II: Sorted Input

لديك مصفوفة من الأعداد الصحيحة numbers مرتبة بترتيب غير تنازلي، وعدد صحيح target. يوجد زوج واحد بالضبط من موضعين مختلفين يحتوي على قيمتين مجموعهما يساوي target. أعد هذين الموضعين على هيئة فهارس تبدأ من 0، مع وضع الفهرس الأصغر أولًا.

الدالة

twoSumSorted(numbers: integer-array, target: integer) → integer-array
numbersinteger-array
المصفوفة المرتبة من الأعداد الصحيحة
targetinteger
المجموع الذي يجب أن تبلغه القيمتان
تُرجعinteger-array
الفهرسان المعتمدان على الصفر [i, j] حيث i < j و numbers[i] + numbers[j] == target

القيود

  • 2 ≤ numbers.length ≤ 104
  • -5 × 108 ≤ numbers[i] ≤ 5 × 108
  • -109 ≤ target ≤ 109
  • numbers مرتبة بترتيب غير تنازلي.
  • يوجد زوج واحد فقط من الفهارس i < j بحيث يكون numbers[i] + numbers[j] == target.

أمثلة

المدخلات
numbers = [-4, 1, 3, 8, 12]target = 9
المخرجات
[1, 3]
الشرح
يقع 1 عند الفهرس 1 و8 عند الفهرس 3، و1 + 8 = 9. لا يصل أي زوج آخر إلى 9: على سبيل المثال، -4 + 12 = 8.
challenge icon

سؤال إضافي

هل يمكنك حلّها في زمن O(n) وباستخدام ذاكرة إضافية O(1)؟

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

اختبار #1

اختبار #2

اختبار #3

الوسائط

numbers = [-4, 1, 3, 8, 12]
target = 9

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

[1, 3]