Войти Регистрация
Алгоритмы

40. Развернуть вложенный массив

Лёгкая

Дан массив 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):
РекурсияСтекцельO(n)

Источник: Альфа-Банк, фронтенд, 2024. Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.