n курсов с номерами от 0 до n - 1. Пара [a, b] в списке deps означает, что курс a можно начать только после того, как пройден курс b.
Студенты проходят курсы через общую очередь:
- в самом начале в очередь встают все курсы без требований, по возрастанию номера;
- курсы проходятся по одному, всегда первый в очереди;
- когда курс пройден, каждый курс, для которого это было последнее непройденное требование, встаёт в конец очереди; если таких несколько — по возрастанию номера.
Верните номера курсов в том порядке, в котором они будут пройдены. Если пройти все n курсов так не получится, верните пустой список.n=5, deps=[[3, 0], [1, 3], [4, 2], [1, 4]] → [0, 2, 3, 4, 1]
Сначала в очередь встают курсы без требований: 0 и 2. После курса 0 открывается 3, после курса 2 — 4. Курс 1 ждёт и 3, и 4, поэтому встаёт в очередь последним: 0, 2, 3, 4, 1.
n=4, deps=[[2, 1], [1, 2], [3, 0]] → []
Курсы 1 и 2 требуют друг друга, поэтому пройти все курсы нельзя — ответ пустой.
n=3, deps=[] → [0, 1, 2]
deps различныn=5, deps=[[3, 0], [1, 3], [4, 2], [1, 4]]
[0, 2, 3, 4, 1]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 92 теста на сервере, включая скрытые.