--- title: 997. Find the Town Judge tags: graph description: share source code. --- # 997. Find the Town Judge ```java= class Solution { public int findJudge(int n, int[][] trust) { List<Integer>[] graph = new ArrayList[n + 1]; Arrays.setAll(graph, v -> new ArrayList<>() ); for(int t [] : trust){ graph[ t[0]].add( t[1]); } int judge = -1; int cnt = 0; // 先找到 judge for(int i = 1; i <= n; i ++){ if(graph[i].size() == 0){ judge = i; // 超過ㄧ個以上的 judge if(++cnt > 1){ return -1; }; } } //沒找到 judge if(judge == -1){ return -1; } //有人不相信 judge => 可能不同獨立的 graph for(int i = 1; i <= n; i ++){ if(judge == i){ continue; } if(!graph[i].contains(judge)){ return -1; } } return judge; } } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up