Smallest cycle node
Your task
A build system has n targets (0..n-1) and edges [a, b] meaning target a depends on target b. A circular dependency makes the build impossible. Return the smallest-numbered node that participates in any dependency cycle, or -1 if the dependency graph is acyclic. A self-loop [a, a] counts as a cycle on node a.
Examples
find_cycle_node(n: int, edges: list[list[int]]) -> intExample 1
Input
find_cycle_node(4, [[0, 1], [1, 2], [2, 0], [2, 3]])Output
0