Код Senior Перебор с возвратом обновлено

Все подмножества

Условие

Все подмножества массива уникальных чисел. Порядок: сначала без элемента, потом с ним (стандартный порядок перебора).

Примеры

subsets([1, 2]) // [[], [2], [1], [1, 2]]
subsets([]) // [[]]

Как подойти

Каркас перебора с возвратом: изменить состояние → рекурсия → откатить. Копия [...current] при сохранении обязательна, иначе в результат попадут ссылки на один и тот же массив, который в конце опустеет.

Подсказки: 2
  1. На каждый элемент два варианта: взять или не взять.
  2. После рекурсии обязательно откатывай изменение.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме