Menu
CoddyTech

Two Sum

KolayHashingpython iconjava iconcpp iconc iconjs icon+10

Bir tamsayı dizisi nums ve bir tamsayı target veriliyor. nums dizisinin farklı konumlarındaki tam olarak iki öğenin toplamı target değerine eşittir. Bu iki öğenin indislerini, küçük indis önce gelecek şekilde döndürün.

Fonksiyon

twoSum(nums: integer-array, target: integer) → integer-array
numsinteger-array
aranacak tamsayı dizisi
targetinteger
iki girdinin ulaşması gereken toplam
Döndürürinteger-array
iki indis, önce daha küçük olan

Kısıtlar

  • 2 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • -109 ≤ target ≤ 109
  • Tam olarak bir farklı konum çifti, toplamda target eder.

Örnekler

Girdi
nums = [3, 8, 12, 5]target = 17
Çıktı
[2, 3]
Açıklama
12, 2. indekste ve 5, 3. indekste bulunur; 12 + 5 = 17. Başka hiçbir çift 17'ye ulaşmaz.
challenge icon

Ek soru

nums zaten sıralanmış olarak gelseydi, yalnızca O(1) ek bellek kullanarak çifti O(n) zamanda bulabilir miydin?

Kodu sıfırla
def twoSum(nums, target):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argümanlar

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

Beklenen Çıktı

[2, 3]