Backend Engineer
Senior
programming
You are given a directed acyclic graph (DAG) represented as an adjacency list. Your task is to return a topological sorting of the graph. If the graph is not a DAG, return an empty list. **Function Signature:** `def topological_sort(graph: List[List[int]]) -> List[int]:` **Constraints:** - The number of vertices in the graph will be between 1 and 10^5. - The number of edges will be between 0 and 10^5. **Example 1:** Input: `graph = [[1, 2], [3], [3], []]` Output: `[0, 1, 2, 3]` **Example 2:** Input: `graph = [[1], [2], [0]]` Output: `[]` (Graph contains a cycle)
Suggested Answer