Menu
CoddyTech

Two Sum II: Sorted Input

Kamu mendapatkan array bilangan bulat numbers yang diurutkan dalam urutan tidak menurun, dan sebuah bilangan bulat target. Tepat satu pasangan posisi berbeda memiliki dua nilai yang jika dijumlahkan hasilnya target. Kembalikan kedua posisi tersebut sebagai indeks berbasis 0, dengan indeks yang lebih kecil terlebih dahulu.

Fungsi

twoSumSorted(numbers: integer-array, target: integer) → integer-array
numbersinteger-array
array bilangan bulat yang sudah diurutkan
targetinteger
jumlah yang harus dicapai oleh kedua nilai
Mengembalikaninteger-array
dua indeks berbasis 0 [i, j] dengan i < j dan numbers[i] + numbers[j] == target

Batasan

  • 2 ≤ numbers.length ≤ 104
  • -5 × 108 ≤ numbers[i] ≤ 5 × 108
  • -109 ≤ target ≤ 109
  • numbers diurutkan dalam urutan tidak menurun.
  • Tepat satu pasangan indeks i < j memiliki numbers[i] + numbers[j] == target.

Contoh

Input
numbers = [-4, 1, 3, 8, 12]target = 9
Output
[1, 3]
Penjelasan
1 berada pada indeks 1 dan 8 pada indeks 3, dan 1 + 8 = 9. Tidak ada pasangan lain yang hasilnya 9: misalnya, -4 + 12 = 8.
challenge icon

Pertanyaan lanjutan

Bisakah kamu menyelesaikannya dalam waktu O(n) dengan memori tambahan O(1)?

Reset kode
def twoSumSorted(numbers, target):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

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

Output yang diharapkan

[1, 3]