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