01
02
03
04
05
06
07
08
09
10
11
A
A2Z Sheet

371. Topo Sort

Hard
Step 15: Graphs [Concepts & Problems]›Topo Sort and Problems

Topo Sort

HardFunction: topoSort()
ASCI Mission Breakdown • Simple as Hell
"Master Topo Sort: Take `nums` (number[]), execute an optimal topo sort and problems strategy, and return number[] with clean edge-case handling."
Real-World Metaphor:

Think of Topo Sort as an everyday real-world challenge: you receive input data, inspect its elements in sequence without making unnecessary duplicate passes, and transform the collection to reach the exact target without wasting computer memory.

Interactive Visual WalkthroughARRAY-POINTERS
Step 1 / 3
Topo Sort State Pipeline
start
5
[0]
2
[1]
3
[2]
1
[3]
Memory Notepad / State Tracker
Status:Initialized
Mode:Scanning
Evaluating

1. Initialize State for Topo Sort

Load inputs and initialize algorithmic registers.

How to Think About This (Mental Model)

  1. Unpack the problem parameters (`nums` (number[])) and clarify what is given vs what must be returned.
  2. Identify the optimal data structure or pattern (e.g. pointers, hash map, or stack) to avoid redundant recalculations.
  3. Walk through state transitions, handle edge cases (empty collections, single items, negative numbers), and return the verified result.

Given an array of integers `nums`, sort the array in ascending order using the **Topo Sort** technique. Return the sorted array.

Examples

Example 1
Input: nums = [5,2,3,1]
Output: [1,2,3,5]
Example 2
Input: nums = [5,1,1,2,0,0]
Output: [0,0,1,1,2,5]

Constraints

  • 1 <= nums.length <= 5 * 10^4
  • -5 * 10^4 <= nums[i] <= 5 * 10^4
Topic Tags:
Graphs [Concepts & Problems]Topo Sort and ProblemstopoSort
14px
Ln 1:Col 1
8 lines•112 chars
Spaces: 2•UTF-8
JS(Node v20.12)