СБЕР | САМАЯ ПОПУЛЯРНАЯ ЗАДАЧА НА СОБЕСЕДОВАНИИ

preview_player
Показать описание

Рекомендации по теме
Комментарии
Автор

Ага, и наплевать, что это решение за n^2 работает, мы никуда не торопимся

torcher
Автор

Мне кажется это какой - то роффл автора видео ) Я такую же задачку решал за O(n) амортизированое )

try_catch_error
Автор

func foo(_ arr: [Int]) -> [Int] {
var exists = Set<Int>()
return arr.filter { exists.insert($0) == false }
}

petrun
Автор

Есть решение за амортизированное время O(n):

let input = [1, 5, 1, 2, 3, 1, 2]

print(unique(input))

func unique<T: Hashable>(_ input: [T]) -> [T] {
var uniqueElements = Set<T>()

return input.filter { el in
if uniqueElements.contains(el) { return false }

uniqueElements.insert(el)
return true
}
}

KotBinary