Для партии ячеек выдали набор цифр digits (строка, цифры могут повторяться). Код ячейки — перестановка всех этих цифр, в которой две соседние цифры не совпадают: курьеры ошибаются на кодах вроде 1123.
Верните все разные коды по возрастанию (как строки). Если подходящего кода нет — пустой список.
В работе: Генерация кодов для ячеек постамата Яндекс Маркета: цифры на клавиатуре стираются неравномерно, и набор задают заранее.
Пример 1
Ввод
digits = "1123"
Вывод
["1213", "1231", "1312", "1321", "2131", "3121"]
Из 12 разных перестановок подходят 6: 1213, 1231, 1312, 1321, 2131, 3121.
Пример 2
Ввод
digits = "555"
Вывод
[]
Без одинаковых соседей не расставить.
Ограничения
- 1 ≤ длина
digits≤ 9 digits— только цифры 0–9- Лимит — 2 с на тест (2000 мс).
Как вызывается ваш код
Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула.
print() и console.log() уходят в консоль.
def locker_codes(digits):
Источник: наша задача на данных Яндекса. Условие пересказано своими словами.
Давали на собеседовании?
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.