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