日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python3求解找到小镇的法官问题

發布時間:2023/12/2 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python3求解找到小镇的法官问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

總結

以上是生活随笔為你收集整理的Python3求解找到小镇的法官问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。