class Solution {
public int findJudge(int n, int[][] trust) {
if(trust.length==0){
if(n==1) return 1;
else return -1;
}
int[] people =new int[n+1];//相信这个编号的人数
boolean[] trustyou=new boolean[n+1];//i是否相信别人,默认false
for(int i=0;i<trust.length;i++){
int a=trust[i][0];//a信任b
int b=trust[i][1];
people[b]++;
trustyou[a]=true;
}
int res=-1;
for(int i=1;i<=n;i++){
if(people[i]==n-1&&trustyou[i]==false){//相信它的人数为n-1并且它不相信任何人
if(res==-1){
res=i;
}
else{//不止一个法官,违反条件3
res=-1;
break;
}
}
}
return res;
}
}
每日一题 leetcode 997. 找到小镇的法官 java
最新推荐文章于 2024-07-14 11:23:58 发布