Лифт стоит на этаже start и едет вверх. calls — этажи, на которых нажали кнопку, в любом порядке, с повторами.
Лифт останавливается на каждом вызванном этаже по пути. Поднявшись до самого верхнего вызова, он разворачивается и едет вниз, собирая остальные. Вызов с этажа start обслуживается сразу. Если сверху вызовов нет, лифт сразу едет вниз.
Верните этажи в порядке остановок, каждый один раз.
В работе: Табло у лифтов в офисе МТС: «Лифт B: 12 → 15 → 7 → 2».
Пример 1
Ввод
start = 5 calls = [7, 2, 9, 7, 4]
Вывод
[7, 9, 4, 2]
Вверх: 7, 9. Вниз: 4, 2.
Пример 2
Ввод
start = 10 calls = [3, 1]
Вывод
[3, 1]
Сверху никого — сразу вниз.
Ограничения
- 1 ≤
start≤ 100 - 0 ≤ длина
calls≤ 10⁵, 1 ≤ этаж ≤ 100 - Лимит — 2 с на тест (1500 мс).
Как вызывается ваш код
Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула.
print() и console.log() уходят в консоль.
def elevator_order(start, calls):
Источник: наша задача на данных МТС. Условие пересказано своими словами.
Давали на собеседовании?
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.