python3問題解決の裁判官は、町を見つけました

python3問題解決の裁判官は、町を見つけました


オリジナルタイトルhttps://leetcode-cn.com/problems/find-the-town-judge/

タイトル:
小さな町で、N Nの個人に1からマークに従っ。これらの人々が町に秘密の裁判官を持っているという噂。

その後、裁判官の町は本当に存在する場合:

裁判官は誰の町を信じませんでした。
(裁判官の小さな町に加えて)誰もが信頼裁判官の町があります。
同じ時間と会う項目1項目2で一人だけ。
アレイの信頼、信頼信頼による配列[I] = [ B] 標識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

問題解決:

class Solution:
    def findJudge(self, N: int, trust: List[List[int]]) -> int:
        arr = [0] * N # 数组记录 (入度-出度) (被相信算一个入度,相信别人算一个出度)
        for item in trust:
            arr[item[0] - 1] -= 1 # 出度,则数组元素-1
            arr[item[1] - 1] += 1 # 入度,则数组元素+1
        for i in range(N):
            if arr[i] == N - 1: # 找到 (入度-出度) 为 N-1的 就是法官!
                return i + 1
        return -1

フォーカス:
裁判官は、0程度で誰も信じていなかった、裁判官は、N個の要素の配列のために、N-1度で、誰もが、(中度-度)だけのストレージを必要と信じてすることができ、なぜなら裁判官値はN-1である場合

公開された24元の記事 ウォンの賞賛0 ビュー408

おすすめ

転載: blog.csdn.net/qq_18138105/article/details/105235875