Python3 문제 해결 판사는 마을을 발견

Python3 문제 해결 판사는 마을을 발견


원제 https://leetcode-cn.com/problems/find-the-town-judge/

제목 :
작은 마을에서, N N 개인 1의 부호에 따라. 이 사람들이 마을에 비밀 판사가 소문.

경우 판사 마을은 정말 다음, 존재 :

판사는 사람의 마을을 믿지 않았다.
(심사 위원의 작은 마을에 추가) 모두가 신뢰 심사 위원의 마을이있다.
같은 시간과 만나는 속성 1 개 속성 2에 하나의 사람입니다.
어레이 주어진 트러스트 신뢰 신뢰하여 배열 [I] = [A, 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