这道题的思路是一共有N个人,法官会被信任N-1次,信任其他人为0次,所以计算每个人的出度与入度,被信任+1,信任别人-1,所以法官的记录会是N-1。这群人里面要不就没有法官,如果有法官只会是一个人,不可能同时出现两个法官。
class Solution {
public:
int findJudge(int N, vector<vector<int>>& trust) {
int record[1001]={0};//下标代表居民的数值,数组代表的是居民的信任与被信任的计算和
for(auto item:trust){//一种新的for循环方式,才了解到
record[item[1]]++;//被信任+1
record[item[0]]--;//信任别人-1
}
for(int i=1;i<=N;i++){
if(record[i]==N-1){
return i;
}
}
return -1;
}
};
首先说说vector<vector<int>>& trust,这个我是在https://www.cnblogs.com/tyty-Somnuspoppy/p/9361821.html这上面了解到的,主要说的就是创建数组中的数组,例如A = [[0,1,2],[3,4]]。