Class Solution
-
- All Implemented Interfaces:
public final class Solution2360 - Longest Cycle in a Graph.
Hard
You are given a directed graph of
nnodes numbered from0ton - 1, where each node has at most one outgoing edge.The graph is represented with a given 0-indexed array
edgesof sizen, indicating that there is a directed edge from nodeito nodeedges[i]. If there is no outgoing edge from nodei, thenedges[i] == -1.Return the length of the longest cycle in the graph. If no cycle exists, return
-1.A cycle is a path that starts and ends at the same node.
Example 1:
Input: edges = 3,3,4,2,3
Output: 3
Explanation: The longest cycle in the graph is the cycle: 2 -> 4 -> 3 -> 2.
The length of this cycle is 3, so 3 is returned.
Example 2:
Input: edges = 2,-1,3,1
Output: -1
Explanation: There are no cycles in this graph.
Constraints:
n == edges.length<code>2 <= n <= 10<sup>5</sup></code>
-1 <= edges[i] < nedges[i] != i
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntegerlongestCycle(IntArray edges)-
-
Method Detail
-
longestCycle
final Integer longestCycle(IntArray edges)
-
-
-
-