题目描述:
思路:
首先利用哈希表找到满足条件一的人(且此人是由一位)
然后再判断此人是否满足条件二
代码如下:
class Solution {
public:
int findJudge(int N, vector<vector<int>>& trust) {
map<int,int>cnt;
map<int,int>record;
int res=0;
for(int i=0;i<trust.size();i++){
cnt[trust[i][0]]++;
}
int temp=0;
for(int i=1;i<=N;i++){
if(cnt[i]==0){
res=i;
temp++;}
}
if(temp!=1)
return -1;
else {
for(int i=0;i<trust.size();i++){
if(trust[i][1]==res)
record[trust[i][0]]++;
}
for(int i=1;i<=N;i++){
if(i!=res){
if(record[i]==0)
return -1;
}
}
return res;
}
return -1;
}
};