# A Leetcode hard problem on graph

## Longest Cycle in a Graph

You are given a **directed** graph of `n`

nodes numbered from `0`

to `n - 1`

, where each node has **at most one** outgoing edge.

The graph is represented with a given **0-indexed** array `edges`

of size `n`

, indicating that there is a directed edge from node `i`

to node `edges[i]`

. If there is no outgoing edge from node `i`

, then `edges[i] == -1`

.

Return *the length of the **longest** cycle in the graph*. If no cycle exists, return `-1`

.