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