Sobes.tech
Junior — Middle

Czy można skutecznie używać tablicy haszującej do określenia unikalnych elementów w tablicy lub liście?

sobes.tech AI

Odpowiedź od AI

Tak, można efektywnie używać tablicy haszującej (w Go, mapy) do określenia unikalnych elementów w tablicy lub liście. Pomysł polega na przejściu przez wszystkie elementy i dodaniu ich do mapy jako kluczy. Ponieważ klucze w mapie są unikalne, pozwala to na szybkie odfiltrowanie duplikatów.

Przykład w Go:

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
}

Takie podejście działa w czasie O(n), gdzie n to liczba elementów, co jest znacznie bardziej wydajne niż zagnieżdżone pętle o czasie O(n²).