Python3 juez de la resolución de problemas encontró la ciudad

Python3 juez de la resolución de problemas encontró la ciudad


Título original https://leetcode-cn.com/problems/find-the-town-judge/

Título:
En un pequeño pueblo, de acuerdo con las marcas de 1 a N N individuos. Los rumores de que estas personas tienen un juez secreta en la ciudad.

Si el juez de la ciudad realmente existe, entonces:

El juez no creyó ciudad cualquiera.
Todo el mundo (además de la pequeña ciudad de jueces) tiene la ciudad jueces de confianza.
Sólo una persona al mismo tiempo y se encuentran Atributo 1 Atributo 2.
Confianza dada matriz, la matriz por la confianza de confianza [i] = [a, b] la composición, expresada como una persona marcada que confían etiquetada b.

Si hay un juez secreta ciudad y puede determinar su identidad, por favor marque el regreso de los jueces. De lo contrario, devuelve -1.

Ejemplo 1:

输入:N = 2, trust = [[1,2]]
输出:2

Ejemplo 2:

输入:N = 3, trust = [[1,3],[2,3]]
输出:3

Ejemplo 3:

输入:N = 3, trust = [[1,3],[2,3],[3,1]]
输出:-1

Ejemplo 4:

输入:N = 3, trust = [[1,2],[2,3]]
输出:-1

Ejemplo 5:

输入:N = 4, trust = [[1,3],[1,4],[2,3],[2,4],[4,3]]
输出:3

La resolución de problemas:

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

Enfoque:
El juez no creyó nadie, es decir, el grado en 0, el juez cree todo el mundo, es decir, el grado de N-1, para un conjunto de N elementos sólo requiere almacenamiento (en grados - un grado) puede ser, porque el juez si el valor es N-1

Publicado 24 artículos originales · ganado elogios 0 · Vistas 408

Supongo que te gusta

Origin blog.csdn.net/qq_18138105/article/details/105235875
Recomendado
Clasificación