Sobes.tech
Senior

Գրեք Exclude ֆունկցիա, որը վերադարձնում է slice a-ի այն տարրերը, որոնք չեն գտնվում slice b-ում։

sobes.tech AI

Պատասխան AI-ից

go func Exclude(a, b []int) []int { m := make(map[int]struct{}, len(b)) for _, v := range b { m[v] = struct{}{} }

var result []int
for _, v := range a {
    if _, found := m[v]; !found {
        result = append(result, v)
    }
}
return result

}


Функция создаёт множество из элементов слайса `b` для быстрого поиска, затем проходит по `a` и добавляет в результат только те элементы, которых нет в `b`. Это эффективно по времени — поиск в мапе за O(1).