Class Solution
-
- All Implemented Interfaces:
public final class Solution2924 - Find Champion II\.
Medium
There are
nteams numbered from0ton - 1in a tournament; each team is also a node in a DAG.You are given the integer
nand a 0-indexed 2D integer arrayedgesof lengthmrepresenting the DAG , where <code>edgesi = u<sub>i</sub>, v<sub>i</sub></code> indicates that there is a directed edge from team <code>u<sub>i</sub></code> to team <code>v<sub>i</sub></code> in the graph.A directed edge from
atobin the graph means that teamais stronger than teamband teambis weaker than teama.Team
awill be the champion of the tournament if there is no teambthat is stronger than teama.Return the team that will be the champion of the tournament if there is a unique champion, otherwise, return
-1.Notes
A cycle is a series of nodes <code>a<sub>1</sub>, a<sub>2</sub>, ..., a<sub>n</sub>, a<sub>n+1</sub></code> such that node <code>a<sub>1</sub></code> is the same node as node <code>a<sub>n+1</sub></code>, the nodes <code>a<sub>1</sub>, a<sub>2</sub>, ..., a<sub>n</sub></code> are distinct, and there is a directed edge from the node <code>a<sub>i</sub></code> to node <code>a<sub>i+1</sub></code> for every
iin the range[1, n].A DAG is a directed graph that does not have any cycle.
Example 1:
Input: n = 3, edges = \[\[0,1],1,2]
Output: 0
Explanation: Team 1 is weaker than team 0. Team 2 is weaker than team 1. So the champion is team 0.
Example 2:
Input: n = 4, edges = \[\[0,2],1,3,1,2]
Output: -1
Explanation: Team 2 is weaker than team 0 and team 1. Team 3 is weaker than team 1. But team 1 and team 0 are not weaker than any other teams. So the answer is -1.
Constraints:
1 <= n <= 100m == edges.length0 <= m <= n * (n - 1) / 2edges[i].length == 20 <= edge[i][j] <= n - 1edges[i][0] != edges[i][1]The input is generated such that if team
ais stronger than teamb, teambis not stronger than teama.The input is generated such that if team
ais stronger than teamband teambis stronger than teamc, then teamais stronger than teamc.