Дан массив arr, элементы которого — числа или такие же массивы любой глубины. Верните плоский массив всех чисел в исходном порядке.
Готовые flat(Infinity) и аналоги не используйте — покажите алгоритм.
В работе: Собрать все пункты многоуровневого меню в один список для поиска.
Пример 1
Ввод
arr = [1, [2, [3, [4]], 5]]
Вывод
[1, 2, 3, 4, 5]
Пример 2
Ввод
arr = [[], [[]], 7]
Вывод
[7]
Ограничения
- Всего элементов ≤ 10⁵
- Глубина вложенности ≤ 10⁴
- Лимит — 1 с на тест.
Как вызывается ваш код
Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула.
print() и console.log() уходят в консоль.
def flatten(arr):
Источник: Альфа-Банк, фронтенд, 2024. Условие пересказано своими словами.
Давали на собеседовании?
Ответов пока мало — ваш поможет.
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.