In a town, there are
n people labeled from
n. There is a rumor that one of these people is secretly the town judge.
If the town judge exists, then:
- The town judge trusts nobody.
- Everybody (except for the town judge) trusts the town judge.
- There is exactly one person that satisfies properties 1 and 2.
You are given an array
trust[i] = [ai, bi] representing that the person labeled
ai trusts the person labeled
Return the label of the town judge if the town judge exists and can be identified, or return
Input: n = 2, trust = [[1,2]] Output: 2
Input: n = 3, trust = [[1,3],[2,3]] Output: 3
Input: n = 3, trust = [[1,3],[2,3],[3,1]] Output: -1
1 <= n <= 1000
0 <= trust.length <= 104
trust[i].length == 2
- All the pairs of
ai != bi
1 <= ai, bi <= n
class Solution: def findJudge(self, N: int, trust: List[List[int]]) -> int: res = *(N+1) for i,j in trust: res[i] -= 1 res[j] += 1 for i in range(1,N+1): if res[i]==N-1: return i return -1