原題
題目:
在乙個小鎮裡,按從 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# 出度,則陣列元素-1
arr[item[1]
-1]+=
1# 入度,則陣列元素+1
for i in
range
(n):
if arr[i]
== n -1:
# 找到 (入度-出度) 為 n-1的 就是法官!
return i +
1return
-1
重點:
法官不相信任何人,也就是出度為0,法官被所有人相信,也就是入度為n-1,對於n個元素的陣列只需要儲存 (入度-出度) 即可,因為是法官的話 這個值就是n-1
Python3 如何找到字典的下標 index
一般我們使用index 方法可以獲取list的下標,但是字典沒有index 方法,那麼該如何獲取呢?提供兩種思路,一種是將字典每一項都放到乙個大的列表中,這樣通過列表的index 方法就可 第二種方式是再建立乙個字段,key都是相同的,value儲存的是從0 n的int值,這樣就可以通過兩個字典對應...
python3安裝 Python3的安裝
1.anaconda安裝 2.安裝包安裝 3.linux下的命令列安裝 centos red hat 1 sudo yum install y sudo yum update3 sudo yum install y python35u python35u libs python35u devel p...
python3的樣子 python3 基礎
第一周 語言基礎 一 python是一門什麼樣的語言?解釋型動態型別強型別定義語言。二 python2和3的主要區別?1 python3裡可以直接預設寫中文,然後python2裡是不能直接寫的。2 python2裡print不用加括號,可直接寫字串,也可以加 python3裡printi必須要加括號...