Junior — Middle
Կարող է արդյունավետորեն օգտագործել հեշ-թերթը՝ եզակի տարրերը որոշելու համար զանգվածում կամ ցանկում:
sobes.tech AI
Պատասխան AI-ից
Այո, hash աղյուսակը (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²):