Problem
Ask
Submissions

Problem: Shortest Cycle in a Graph

Medium
30 min
Explore how to find the shortest cycle in a bidirectional graph by analyzing edges and vertices. This lesson helps you understand graph cycles, implement efficient algorithms, and apply these techniques to solve common coding interview questions involving graphs.

Statement

You are given a bidirectional graph with n vertices, labeled from 0 to n - 1. The graph is represented by a 2D integer array edges, where each element edges[i] = [ui, vi] represents an edge connecting vertex ui and vertex vi. Each vertex pair has at most one edge between them, and no vertex is connected to itself.

Your task is to find the length of the shortest cycle in the graph. A cycle is defined as a path that starts and ends at the same vertex, with each edge in the path appearing exactly once. If no cycle exists in the graph, return -1.

Constraints:  

  • 22 \leq n 1000\leq 1000

  • 11 \leq edges.length 1000\leq 1000

  • edges.length ==2 == 2

  • 00 \leq ui, vi << n  

  • ui \neq vi

  • No duplicate edges exist in the graph

Problem
Ask
Submissions

Problem: Shortest Cycle in a Graph

Medium
30 min
Explore how to find the shortest cycle in a bidirectional graph by analyzing edges and vertices. This lesson helps you understand graph cycles, implement efficient algorithms, and apply these techniques to solve common coding interview questions involving graphs.

Statement

You are given a bidirectional graph with n vertices, labeled from 0 to n - 1. The graph is represented by a 2D integer array edges, where each element edges[i] = [ui, vi] represents an edge connecting vertex ui and vertex vi. Each vertex pair has at most one edge between them, and no vertex is connected to itself.

Your task is to find the length of the shortest cycle in the graph. A cycle is defined as a path that starts and ends at the same vertex, with each edge in the path appearing exactly once. If no cycle exists in the graph, return -1.

Constraints:  

  • 22 \leq n 1000\leq 1000

  • 11 \leq edges.length 1000\leq 1000

  • edges.length ==2 == 2

  • 00 \leq ui, vi << n  

  • ui \neq vi

  • No duplicate edges exist in the graph