做网站沈阳,商丘猎狐网络,陕西省住房和城乡建设厅门户网站,如何在门户网站做搜索引擎Python3求解找到小镇的法官问题原题 https://leetcode-cn.com/problems/find-the-town-judge/题目#xff1a; 在一个小镇里#xff0c;按从 1 到 N 标记了 N 个人。传言称#xff0c;这些人中有一个是小镇上的秘密法官。
如果小镇的法官真的存在#xff0c;那么#xff…
Python3求解找到小镇的法官问题 原题 https://leetcode-cn.com/problems/find-the-town-judge/题目 在一个小镇里按从 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解题
class Solution:def findJudge(self, N: int, trust: List[List[int]]) - int:arr [0] * N # 数组记录 (入度-出度) 被相信算一个入度相信别人算一个出度for item in trust:arr[item[0] - 1] - 1 # 出度则数组元素-1arr[item[1] - 1] 1 # 入度则数组元素1for i in range(N):if arr[i] N - 1: # 找到 (入度-出度) 为 N-1的 就是法官return i 1return -1重点 法官不相信任何人也就是出度为0法官被所有人相信也就是入度为N-1对于N个元素的数组只需要存储 (入度-出度) 即可因为是法官的话 这个值就是N-1