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

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.

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

challenge icon

سؤال إضافي

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

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

الحالة 1

الحالة 2

الحالة 3

المدخلات

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

المتوقع

[1, 3]