題目相關
- 原題鏈接: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