Menu
CoddyTech

Two Sum II: Sorted Input

Otrzymujesz tablicę liczb całkowitych numbers posortowaną w kolejności niemalejącej oraz liczbę całkowitą target. Dokładnie jedna para różnych pozycji zawiera dwie wartości, które sumują się do target. Zwróć te dwie pozycje jako indeksy liczone od 0, najpierw mniejszy indeks.

Funkcja

twoSumSorted(numbers: integer-array, target: integer) → integer-array
numbersinteger-array
posortowana tablica liczb całkowitych
targetinteger
suma, jaką muszą osiągnąć te dwie wartości
Zwracainteger-array
dwa indeksy liczone od 0 [i, j], gdzie i < j i numbers[i] + numbers[j] == target

Ograniczenia

  • 2 ≤ numbers.length ≤ 104
  • -5 × 108 ≤ numbers[i] ≤ 5 × 108
  • -109 ≤ target ≤ 109
  • numbers jest posortowana w kolejności nierosnącej.
  • Dokładnie jedna para indeksów i < j spełnia warunek numbers[i] + numbers[j] == target.

Przykłady

Wejście
numbers = [-4, 1, 3, 8, 12]target = 9
Wyjście
[1, 3]
Wyjaśnienie
1 znajduje się pod indeksem 1, a 8 pod indeksem 3, i 1 + 8 = 9. Żadna inna para nie daje 9: na przykład -4 + 12 = 8.

lock icon+13 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Czy potrafisz rozwiązać to w czasie O(n) i przy użyciu O(1) dodatkowej pamięci?

Zresetuj kod
def twoSumSorted(numbers, target):
    # Wpisz kod tutaj
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

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

Oczekiwane

[1, 3]