FilterInPlace: отбор без аллокации
Аня просит не аллоцировать новый массив при фильтрации импорта. Реализуйте filterInPlace: отберите элементы, для которых keep истинно, правкой на месте (nums[:0] + append). Результат корректен, даже если проходят все или не проходит ни один элемент.
Показать решение
GolangРешение
func filterInPlace(nums []int, keep func(int) bool) []int {
out := nums[:0]
for _, n := range nums {
if keep(n) {
out = append(out, n)
}
}
return out
}Записаться на разбор
10 000 ₽ · 60 минут · онлайн