Menu
CoddyTech

Two Sum

ŁatweHaszowaniepython iconjava iconcpp iconc iconjs icon+10

Otrzymujesz tablicę liczb całkowitych nums oraz liczbę całkowitą target. Dokładnie dwa elementy tablicy nums na dwóch różnych pozycjach sumują się do target. Zwróć indeksy tych dwóch elementów, zaczynając od mniejszego indeksu.

Funkcja

twoSum(nums: integer-array, target: integer) → integer-array
numsinteger-array
tablica liczb całkowitych do przeszukania
targetinteger
suma, do której muszą dojść te dwa wpisy
Zwracainteger-array
dwa indeksy, najpierw mniejszy

Ograniczenia

  • 2 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • -109 ≤ target ≤ 109
  • Dokładnie jedna para różnych pozycji sumuje się do target.

Przykłady

Wejście
nums = [3, 8, 12, 5]target = 17
Wyjście
[2, 3]
Wyjaśnienie
12 znajduje się pod indeksem 2, a 5 pod indeksem 3, i 12 + 5 = 17. Żadna inna para nie daje w sumie 17.
challenge icon

Pytanie dodatkowe

Gdyby nums były już posortowane, czy udałoby Ci się znaleźć parę w czasie O(n), używając tylko O(1) dodatkowej pamięci?

Zresetuj kod
def twoSum(nums, target):
    # Napisz kod tutaj

Test #1

Test #2

Test #3

Argumenty

nums = [3, 8, 12, 5]
target = 17

Oczekiwany wynik

[2, 3]