Sobes.tech
Junior — Middle

Ar efektyviai galima naudoti žemėlapių lentelę unikaliems elementams nustatyti masyve ar sąraše?

sobes.tech AI

Atsakymas iš AI

Taip, žvaigždžių lentelė (Go kalboje tai yra map) gali būti efektyviai naudojama unikaliems elementams nustatyti masyve ar sąraše. Idėja yra pereiti per visus elementus ir pridėti juos kaip raktus į map. Kadangi raktai map'e yra unikalūs, tai leidžia greitai filtruoti pasikartojančius elementus.

Pavyzdys Go kalboje:

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
}

Šis metodas veikia laike O(n), kur n yra elementų skaičius, ir yra daug efektyvesnis nei įdėtiniai ciklai su O(n²).