Search⌘ K
AI Features

Solution: Shortest Cycle in a Graph

Explore how to find the shortest cycle in a bidirectional graph by employing breadth-first search. Understand how to represent graphs with adjacency lists, track distances and parents, detect cycles efficiently, and calculate their length. This lesson prepares you to apply BFS to solve cycle detection problems commonly seen in 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 ...