package com.fanlu.leetcode.graph; // Source : https://leetcode.com/problems/find-the-town-judge/ // Id : 997 // Author : Fanlu Hai // Date : 2018-05-03 // Other : // Tips : public class FindTheTownJudge { //98.73% 100.00% public int findJudge(int N, int[][] trust) { boolean[] notJudge = new boolean[N + 1]; int[] beingTrusted = new int[N + 1]; for (int[] pair : trust) { // if trust others, then not judge notJudge[pair[0]] = true; boolean not = notJudge[pair[0]]; int beTru = pair[1]; if (notJudge[pair[1]]) { continue; } beingTrusted[pair[1]]++; } for (int i = 1; i < N + 1; i++) { if (beingTrusted[i] == N - 1 && !notJudge[i]) return i; } return -1; } }