Junior — Middle
Massiv yoki ro'yxatda noyob elementlarni aniqlash uchun hash-jadvaldan samarali foydalanish mumkinmi?
sobes.tech AI
AIdan javob
Ha, hash jadvali (Go'da map) massiv yoki ro'yxatdagi noyob elementlarni aniqlash uchun samarali tarzda ishlatilishi mumkin. G'oya shundan iboratki, barcha elementlarni o'tib, ularni kalit sifatida mapga qo'shish. Mapdagi kalitlar unikal bo'lgani uchun, bu takroriy elementlarni tezda filtrlash imkonini beradi.
Go'da misol:
func uniqueElements(arr []int) []int {
seen := make(map[int]bool)
var result []int
for _, v := range arr {
if !seen[v] {
seen[v] = true
result = append(result, v)
}
}
return result
}
Bu yondashuv O(n) vaqt ichida ishlaydi, bu n elementlar soni bo'lsa, O(n²) ichki sikllardan ancha samaraliroqdir.