0997. Find the Town Judge #
题目 #
- 小镇中有
n
个人,按从1
到n
的顺序编号。传言称,这些人中有一个暗地里是小镇法官。 - 如果小镇法官真的存在,那么:
- 小镇法官不会信任任何人。
- 每个人(除了小镇法官)都信任这位小镇法官。
- 只有一个人同时满足前两条。
- 给定数组
trust
,其中trust[i] = [ai, bi]
表示编号为ai
的人信任编号为bi
的人。 - 如果小镇法官存在,请返回该法官的编号。否则返回
-1
。
思路 #
模拟 #
代码 #
模拟 #
class Solution {
public int findJudge(int n, int[][] trust) {
int[] cntMyTrust = new int[n + 1], cntTrustMe = new int[n + 1];
for (int[] pair: trust) {
cntMyTrust[pair[0]]++;
cntTrustMe[pair[1]]++;
}
for (int i = 1; i <= n; i++) {
if (cntMyTrust[i] == 0 && cntTrustMe[i] == n - 1) return i;
}
return -1;
}
}