94 / 205
LeetCode · EasyOson10 ball· ~15 daqiqa

Two sum

Sizga butun sonlardan iborat nums massivi va bitta target butun soni berilgan. Massiv ichidan yig'indisi target ga teng bo'ladigan ikkita sonni toping va ularning indekslarini qaytaring.

Har bir test uchun faqat bitta aniq yechim mavjud deb hisoblashingiz mumkin va bitta elementdan ikki marta foydalana olmaysiz. Javobni istalgan tartibda qaytarishingiz mumkin.

example.go
func solve(nums []int, target int) []int {
    // ...
}

Misollar

kod
Input: nums = [2,7,11,15], target = 9
Output: [0, 1]
Tushuntirish: nums[0] + nums[1] == 9 bo'lgani uchun [0, 1] qaytariladi.
kod
Input: nums = [3,2,4], target = 6
Output: [1, 2]
kod
Input: nums = [3,3], target = 6
Output: [0, 1]

Maslahatlar

  1. Har bir son uchun kerakli "juft" (target - son) allaqachon ko'rilganmi, yo'qmi tezda bilish uchun hash map dan foydalanishni o'ylang.
  2. Massivni bir marta aylanib, har bir elementdan oldin target - nums[i] map'da bor-yo'qligini tekshiring — bo'lsa ikkala indeksni qaytaring, bo'lmasa joriy sonni indeksi bilan birga map'ga qo'shib davom eting.