Ctrl K

Все разные наборы карт

Средняя
У вас на руках карты с числами cards, некоторые числа могут повторяться. Набором назовём любую часть карт (в том числе пустую или все сразу). Наборы, которые отличаются только порядком карт или тем, какая из одинаковых карт взята, считаются одинаковыми. Верните все различные наборы. Каждый набор — список чисел; порядок наборов в ответе и порядок чисел внутри набора не важны.
Пример 1
cards=[3, 1, 3] → [[1, 3, 3], [1, 3], [1], [3, 3], [3], []]

Две тройки неразличимы, поэтому набор [1, 3] встречается в ответе один раз. Всего наборов шесть: [], [1], [3], [1, 3], [3, 3], [1, 3, 3].

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

Можно не взять ничего, взять одну -2 или обе.

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

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