Очередь ожидания в колл-центре
Задача по программированию с проверкой онлайн
- Сложность
- Лёгкая
- Языки
- Python
- JavaScript
- TypeScript
- Java
- Go
- Темы
- Классы и ООП
- Стек, очередь, связные списки
Звонящие ждут ответа оператора в порядке звонков; сначала очередь пуста. Звонящий — положительное число (идентификатор), в очереди идентификаторы не повторяются. Реализуйте операции:
call(id): звонящий встаёт в конец очереди; результат — длина очереди после этого;answer: оператор отвечает тому, кто ждёт дольше всех, и он покидает очередь; результат — его id, а для пустой очереди-1;hangup(id): звонящий сам кладёт трубку. Если он был в очереди, он убирается из неё и результат1; иначе0;position(id): результат — место звонящего в очереди (первый стоит на месте1) или0, если его там нет.
Верните список результатов, по одному на операцию. values[i] — аргументы операции i.
Пример: ["call", "call", "call", "hangup", "position", "answer", "answer", "answer"], [[11], [12], [13], [12], [13], [], [], []] → [1, 2, 3, 1, 2, 11, 13, -1].
Источник: задача CodeShare
Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).