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²).