Ctrl K

Различные перестановки с повторами

Средняя
Дан массив целых чисел values, в котором могут встречаться одинаковые значения. Верните все различные способы расставить эти числа в ряд. Два способа считаются одинаковыми, если на каждой позиции стоит одно и то же число. Порядок самих способов в ответе не важен, но каждый должен встречаться ровно один раз.
Пример 1
values=[2, 2, 5] → [[2, 2, 5], [2, 5, 2], [5, 2, 2]]

Двойки неразличимы, поэтому различных порядков всего три: 2 2 5, 2 5 2 и 5 2 2.

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

Два разных числа дают два порядка.

Пример 3
values=[4, 4, 4] → [[4, 4, 4]]

Все числа одинаковы — порядок ровно один.

Ограничения
  • 1 ≤ len(values) ≤ 8
  • -10 ≤ values[i] ≤ 10
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиНаборы без заданной разницы СредняяСамая сильная команда СредняяТройки с нулевой суммой СредняяСумма тройки ближе всего к цели СредняяЧетыре числа с заданной суммой Средняя
загружаем Python…
Вход
values=[2, 2, 5]
Ожидается
[[2, 2, 5], [2, 5, 2], [5, 2, 2]]

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