intfindJudge(int n, vector<vector<int>>& trust) {
vector<int> v(n +1);
for (auto& edge : trust) {
v[edge[0]]--;
v[edge[1]]++;
}
for (int i =1; i <= n; ++i) {
if (v[i]== n-1) {
return i;
}
}
return-1;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
intfindJudge(int n, vector<vector<int>>& trust) {
vector<int> inDegrees(n +1);
vector<int> outDegrees(n +1);
for (auto& edge : trust) {
int x = edge[0], y = edge[1];
++inDegrees[y];
++outDegrees[x];
}
for (int i =1; i <= n; ++i) {
if (inDegrees[i] == n -1&& outDegrees[i] ==0) {
return i;
}
}
return-1;
}