Junior — Middle
Μπορεί να χρησιμοποιηθεί αποτελεσματικά ένας πίνακας κατακερματισμού για τον καθορισμό μοναδικών στοιχείων σε έναν πίνακα ή λίστα;
sobes.tech AI
Απάντηση από AI
Ναι, ένας πίνακας κατακερματισμού (στο Go, ένα map) μπορεί να χρησιμοποιηθεί αποτελεσματικά για τον προσδιορισμό μοναδικών στοιχείων σε έναν πίνακα ή λίστα. Η ιδέα είναι να διασχίσετε όλα τα στοιχεία και να τα προσθέσετε ως κλειδιά στον map. Δεδομένου ότι τα κλειδιά σε έναν map είναι μοναδικά, αυτό θα επιτρέψει την ταχεία φιλτράρισμα των διπλότυπων στοιχείων.
Παράδειγμα σε 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
}
Αυτή η προσέγγιση λειτουργεί σε χρόνο O(n), όπου n είναι ο αριθμός των στοιχείων, και είναι πολύ πιο αποδοτική από τους ενσωματωμένους βρόχους με O(n²).