leetcode 997. 找到小镇的法官
直接找入度为$n-1$,出度为$0$的点就行了,时间复杂度是$O(n)$。
int in[1007],out[1007]; class Solution { public: int findJudge(int n, vector<vector<int>>& trust) { int t=trust.size(); memset(in,0,sizeof(in)); memset(out,0,sizeof(out)); for (int i=0;i<t;i++) out[trust[i][0]]++,in[trust[i][1]]++; int ans=0; for (int i=1;i<=n;i++) if (in[i]==n-1&&out[i]==0){ if (ans) return -1; else ans=i; } return ans?ans:-1; } };

浙公网安备 33010602011771号