1857.Largest Color Value in a Directed Graph
===
###### tags: `Hard`,`Hash Table`,`DP`,`Graph`
[1857. Largest Color Value in a Directed Graph](https://leetcode.com/problems/largest-color-value-in-a-directed-graph/)
### 題目描述
There is a **directed graph** of `n` colored nodes and `m` edges. The nodes are numbered from `0` to `n - 1`.
You are given a string `colors` where `colors[i]` is a lowercase English letter representing the **color** of the i^th^ node in this graph (**0-indexed**). You are also given a 2D array `edges` where `edges[j]` = [$a_j$, $b_j$] indicates that there is a directed edge from node $a_j$ to node $b_j$.
A valid **path** in the graph is a sequence of nodes `x1 -> x2 -> x3 -> ... -> xk` such that there is a directed edge from $x_i$ to $x_{i+1}$ for every `1 <= i < k`. The **color value** of the path is the number of nodes that are colored the **most frequently** occurring color along that path.
Return *the **largest color value** of any valid path in the given graph, or* `-1` *if the graph contains a cycle*.
### 範例
**Example 1:**
![](https://assets.leetcode.com/uploads/2021/04/21/leet1.png)
```
Input: colors = "abaca", edges = [[0,1],[0,2],[2,3],[3,4]]
Output: 3
Explanation: The path 0 -> 2 -> 3 -> 4 contains 3 nodes that are colored "a" (red in the above image).
```
**Example 2:**
![](https://assets.leetcode.com/uploads/2021/04/21/leet2.png)
```
Input: colors = "a", edges = [[0,0]]
Output: -1
Explanation: There is a cycle from 0 to 0.
```
**Constraints**:
* `n` == `colors.length`
* `m` == `edges.length`
* 1 <= `n` <= 10^5^
* 0 <= `m` <= 10^5^
* `colors` consists of lowercase English letters.
* 0 <= $a_j$, $b_j$ < `n`
### 解答
### Reference
[回到題目列表](https://hackmd.io/@Marsgoat/leetcode_every_day)