## Question

In a town, there are `n`

people labeled from `1`

to `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`

where `trust[i] = [a`

representing that the person labeled _{i}, b_{i}]`a`

trusts the person labeled _{i}`b`

._{i}

Return *the label of the town judge if the town judge exists and can be identified, or return *`-1`

* otherwise*.

**Example 1:**

Input:n = 2, trust = [[1,2]]Output:2

**Example 2:**

Input:n = 3, trust = [[1,3],[2,3]]Output:3

**Example 3:**

Input:n = 3, trust = [[1,3],[2,3],[3,1]]Output:-1

**Constraints:**

`1 <= n <= 1000`

`0 <= trust.length <= 10`

^{4}`trust[i].length == 2`

- All the pairs of
`trust`

are**unique**. `a`

_{i}!= b_{i}`1 <= a`

_{i}, b_{i}<= n

## Python Solution

class Solution: def findJudge(self, N: int, trust: List[List[int]]) -> int: res = [0]*(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