题目相关
- 原题链接:997. 找到小镇的法官 - 力扣(LeetCode)
- 涉及知识:图、有向图
- 题目难度:★
题目解读
根据题意,我们可以很明显的看出需要用到有向图这一数据结构,而我们需要从从图中遍历查找是否满足入度为N-1并且出度为0的点。
Python相关
我们可以简单地用二维数组来模拟一个图,也可以用一个值类型的列表的字典来模拟。
但在本题中,由于只会涉及到出入度等并不够精细的数据量,所以我们可以简单的只用数组+集合模拟即可。
具体实现
具体实现如下:
class Solution:
def findJudge(self, N: int, trust: List[List[int]]) -> int:
votes = [0] * N
normal = set()
for a, b in trust:
normal.add(a)
votes[b - 1] += 1
for inx, num in enumerate(votes):
if num == N - 1 and inx + 1 not in normal:
return inx + 1
return -1