997 找到小鎮的法官

2021-10-02 08:10:22 字數 1280 閱讀 1799

在乙個小鎮裡,按從1n標記了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 <= 1000trust.length <= 10000trust[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 組成,表示...