Sobes.tech
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.