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

373. Detect a cycle in a directed graph

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

Detect a cycle in a directed graph

HardFunction: detectACycleInADirectedGraph()
ASCI Mission Breakdown • Simple as Hell
"Master Detect a cycle in a directed graph: Take `n` (number) and `edges` (number[][]), execute an optimal topo sort and problems strategy, and return boolean with clean edge-case handling."
Real-World Metaphor:

Think of Detect a cycle in a directed graph 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
Detect a cycle in a directed graph State Pipeline
start
4
[0]
0,1,1,2,2,3
[1]
Memory Notepad / State Tracker
Status:Initialized
Mode:Scanning
Evaluating

1. Initialize State for Detect a cycle in a directed graph

Load inputs and initialize algorithmic registers.

How to Think About This (Mental Model)

  1. Unpack the problem parameters (`n` (number) and `edges` (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 `n` nodes and an edge list `edges` representing a network graph, determine the solution for **Detect a cycle in a directed graph**. Identify connected components, cycles, or shortest paths.

Examples

Example 1
Input: n = 4, edges = [[0,1],[1,2],[2,3]]
Output: true

Constraints

  • 1 <= n <= 2000
  • 0 <= edges.length <= 5000
Topic Tags:
Graphs [Concepts & Problems]Topo Sort and ProblemsdetectACycleInADirectedGraph
14px
Ln 1:Col 1
9 lines•159 chars
Spaces: 2•UTF-8
JS(Node v20.12)