Class Solution
java.lang.Object
g0801_0900.s0847_shortest_path_visiting_all_nodes.Solution
847 - Shortest Path Visiting All Nodes.<p>Hard</p>
<p>You have an undirected, connected graph of <code>n</code> nodes labeled from <code>0</code> to <code>n - 1</code>. You are given an array <code>graph</code> where <code>graph[i]</code> is a list of all the nodes connected with node <code>i</code> by an edge.</p>
<p>Return <em>the length of the shortest path that visits every node</em>. You may start and stop at any node, you may revisit nodes multiple times, and you may reuse edges.</p>
<p><strong>Example 1:</strong></p>
<p><img src="https://assets.leetcode.com/uploads/2021/05/12/shortest1-graph.jpg" alt="" /></p>
<p><strong>Input:</strong> graph = [[1,2,3],[0],[0],[0]]</p>
<p><strong>Output:</strong> 4</p>
<p><strong>Explanation:</strong> One possible path is [1,0,2,0,3]</p>
<p><strong>Example 2:</strong></p>
<p><img src="https://assets.leetcode.com/uploads/2021/05/12/shortest2-graph.jpg" alt="" /></p>
<p><strong>Input:</strong> graph = [[1],[0,2,4],[1,3,4],[2],[1,2]]</p>
<p><strong>Output:</strong> 4</p>
<p><strong>Explanation:</strong> One possible path is [0,1,4,2,3]</p>
<p><strong>Constraints:</strong></p>
<ul>
<li><code>n == graph.length</code></li>
<li><code>1 <= n <= 12</code></li>
<li><code>0 <= graph[i].length < n</code></li>
<li><code>graph[i]</code> does not contain <code>i</code>.</li>
<li>If <code>graph[a]</code> contains <code>b</code>, then <code>graph[b]</code> contains <code>a</code>.</li>
<li>The input graph is always connected.</li>
</ul>
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
shortestPathLength
public int shortestPathLength(int[][] graph)
-