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