Search⌘ K
AI Features

Solution: Shortest Path Visiting All Nodes

Explore how to apply breadth-first search combined with bitmask state compression to determine the shortest path that visits every node in an undirected connected graph. Understand how to represent states with current nodes and visited sets, and avoid redundant searches to find the minimal number of steps efficiently.

Statement

You are given an undirected connected graph with n nodes numbered from 00 to n1n-1. The graph is provided as an adjacency list, graph, where graph[i] contains all nodes that share an edge with node i.

Your task is to find the length of the shortest path that visits every node. You may:

  • Start from any node.

  • End at any node.

  • Revisit nodes and reuse edges as many times as needed.

Constraints:

  • n ==== graph.length

  • 11 \leq n 12\leq 12 ...