在乙個小鎮裡,按從1
到n
標記了n
個人。傳言稱,這些人中有乙個是小鎮上的秘密法官。
如果小鎮的法官真的存在,那麼:
小鎮的法官不相信任何人。
每個人(除了小鎮法官外)都信任小鎮的法官。
只有乙個人同時滿足屬性 1 和屬性 2 。
給定陣列trust
,該陣列由信任對trust[i] = [a, b]
組成,表示標記為a
的人信任標記為b
的人。
如果小鎮存在秘密法官並且可以確定他的身份,請返回該法官的標記。否則,返回-1
。
示例 1:
輸入:n = 2, trust = [[1,2]]
輸出:2
示例 2:
輸入:n = 3, trust = [[1,3],[2,3]]
輸出:3
示例 3:
輸入:n = 3, trust = [[1,3],[2,3],[3,1]]
輸出:-1
示例 4:
輸入:n = 3, trust = [[1,2],[2,3]]
輸出:-1
示例 5:
輸入:n = 4, trust = [[1,3],[1,4],[2,3],[2,4],[4,3]]
輸出:3
1 <= n <= 1000
trust.length <= 10000
trust[i]
是完全不同的
trust[i][0] != trust[i][1]
1 <= trust[i][0], trust[i][1] <= n
思路:這個問題可以抽象成乙個有向圖,每乙個人的是圖的頂點,trust中的每乙個元素是圖的一條有向邊。如果要是存在法官的話,那麼這個頂點的入度數是n-1,出度數為0。設定count來統計每乙個頂點的度數。
class solution
for(int i=1; i<=n; ++i)
return -1;
}};
leetcode 997 找到小鎮的法官
在乙個小鎮裡,按從 1 到 n 標記了 n 個人。傳言稱,這些人中有乙個是小鎮上的秘密法官。如果小鎮的法官真的存在,那麼 小鎮的法官不相信任何人。每個人 除了小鎮法官外 都信任小鎮的法官。只有乙個人同時滿足屬性 1 和屬性 2 給定陣列 trust,該陣列由信任對 trust i a,b 組成,表示...
力扣 997 找到小鎮的法官 C
這道題的思路是一共有n個人,法官會被信任n 1次,信任其他人為0次,所以計算每個人的出度與入度,被信任 1,信任別人 1,所以法官的記錄會是n 1。這群人裡面要不就沒有法官,如果有法官只會是乙個人,不可能同時出現兩個法官。class solution 下標代表居民的數值,陣列代表的是居民的信任與被信...
找到小鎮的法官
在乙個小鎮裡,按從 1 到 n 標記了 n 個人。傳言稱,這些人中有乙個是小鎮上的秘密法官。如果小鎮的法官真的存在,那麼 小鎮的法官不相信任何人。每個人 除了小鎮法官外 都信任小鎮的法官。只有乙個人同時滿足屬性 1 和屬性 2 給定陣列 trust,該陣列由信任對 trust i a,b 組成,表示...