Ctrl K
Курс · шаг 66 из 79К шагуДальше

Все наборы добавок

Средняя
В кофейне можно заказать к напитку любые добавки из списка. Каждая добавка обозначена своим кодом — целым числом, коды в массиве toppings не повторяются. Верните все различные наборы добавок, которые можно выбрать, включая пустой набор и набор из всех добавок сразу. Набор определяется только тем, какие добавки в него входят, поэтому одинаковых наборов в ответе быть не должно. Порядок наборов в ответе и порядок кодов внутри набора могут быть любыми.
Пример 1
toppings=[4, 7] → [[], [7], [4], [4, 7]]

Можно не брать ничего, взять только 4, только 7 или обе добавки — всего четыре варианта.

Пример 2
toppings=[-1] → [[], [-1]]

Из одной добавки получается два набора: пустой и из неё самой.

Пример 3
toppings=[3, 0, 9] → [[], [9], [0], [0, 9], [3], [3, 9], [3, 0], [3, 0, 9]]

Три добавки дают 2³ = 8 наборов, от пустого до полного.

Ограничения
  • 1 ≤ toppings.length ≤ 10
  • -1000 ≤ toppings[i] ≤ 1000
  • Все коды в toppings различны
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВсе разные наборы карт СредняяКвадратная рамка из палочек СредняяВсе неубывающие подпоследовательности СредняяРассадка с делимостью СредняяСамая дешёвая корзина с наборами Средняя
загружаем Python…
Вход
toppings=[4, 7]
Ожидается
[[], [7], [4], [4, 7]]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 91 тест на сервере, включая скрытые.