python
advanced
محلول
ينتهي في 2026-11-24
Build order (topological sort)
A build system knows which tasks depend on which: deps["deploy"] = ["test", "build"] means test and build must run before deploy. Write build_order(deps) that returns a list with every task exactly once, each after all of its dependencies.
- Tasks that only appear as dependencies are tasks too.
- When several tasks are ready at the same time, take them in alphabetical order, so the result is deterministic.
- If there is a cycle, raise
ValueErrorwhose message names the tasks in the cycle (any order is fine, e.g."cycle: a, b, c").
Acceptance criteria
- The tests at the bottom print
All tests passed.
Hint: Kahn's algorithm with a heapq of ready tasks.
حلّه 0 شخصًا حتى الآن.
المحررCtrl + Enter
عندما تطبع الاختبارات "All tests passed" يُعلَّم التحدي كمحلول في هذا المتصفح.
إرسال حلك للمراجعة