21 / 205
LeetCode · EasyOson10 ball· ~20 daqiqa

Design HashMap

Tayyor hash-map (Dictionary/HashMap) kutubxonalaridan foydalanmasdan quyidagi funksiyalarni amalga oshiring:

  • put(key, value): kalit-qiymat juftligini kiritadi. Agar kalit allaqachon mavjud bo'lsa, qiymatini yangilaydi.
  • get(key): berilgan kalitga mos qiymatni qaytaradi. Agar kalit mavjud bo'lmasa, -1 qaytaradi.
  • remove(key): kalitni va unga mos qiymatni o'chiradi.

Eslatma: Biz bu yerda testni soddalashtirish maqsadida funksiyalar yig'indisi sifatida operatsiyalarni ketma-ket bajaramiz va jarayonning natijasini tekshiramiz.

example.go
func solve(keys []int, values []int, queryKey int) int {
    // ...
}

Misollar

kod
Input: keys = [1,2,3], values = [10,20,30], queryKey = 2
Output: 20
kod
Input: keys = [1,2,3], values = [10,20,30], queryKey = 5
Output: -1
kod
Input: keys = [1,1], values = [10,20], queryKey = 1
Output: 20

Maslahatlar

  1. Go'da xarita (map) tayyor mavjud — bu masalada shunchaki map[int]int dan foydalanib put/get/remove mantiqini qo'llash mumkin.
  2. keys va values massivlaridan foydalanib map to'ldiring (keyingi qo'shilgan qiymat oldingisini almashtiradi), so'ngra queryKey map'da bor-yo'qligini tekshirib, bor bo'lsa qiymatini, bo'lmasa -1 ni qaytaring.