Problem
Ask
Submissions

Problem: Shortest Cycle in a Graph

Hard
40 min
Explore how to find the shortest cycle in a bidirectional graph given the edges and vertices. Understand the problem constraints and apply graph algorithms to identify cycles efficiently. This lesson helps you develop practical skills in graph theory relevant for coding interviews.

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

Hard
40 min
Explore how to find the shortest cycle in a bidirectional graph given the edges and vertices. Understand the problem constraints and apply graph algorithms to identify cycles efficiently. This lesson helps you develop practical skills in graph theory relevant for coding interviews.

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