Sobes.tech
Junior — Middle

Kas tõesti saab tõhusalt kasutada hajutustabelit unikaalsete elementide määramiseks massiivis või nimekirjas?

sobes.tech AI

Vastus AI-lt

Jah, hash-tabel (Go-s see on map) saab tõhusalt kasutada unikaalsete elementide määramiseks massiivis või nimekirjas. Mõte on läbi käia kõik elemendid ja lisada need map'i võtmetena. Kuna map'i võtmed on unikaalsed, võimaldab see kiiresti filtreerida duplikaate.

Näide Go-s:

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
}

See meetod töötab aja O(n), kus n on elementide arv, ja on palju tõhusam kui sisemised tsüklid O(n²).