想試著自己解解看了,就直接開始吧
def singleNumber(self, nums: List[int]) -> int:
hash_table={}
for i in nums:
if hash_table[i] != "":
hash_table[nums[i]] = hash_table[nums[i]] + 1
else:
hash_table[nums[i]] = 1
return hash_table.index(1)
試著用一開始看到題目的時候想到的解法寫了出來,但run過後在第四行判斷是否出現過這個數字的時候出了error
寫Key Error:
KeyError找到了參考1連結出錯的地方,
修改編輯後又發現return的地方出了第二個錯
最後找到參考2修改後,程式碼變成這樣:
def singleNumber(self, nums: List[int]) -> int:
hash_table={}
for i in nums:
if i in hash_table :
hash_table[i] = hash_table[i] + 1
else:
hash_table[i] = 1
return list(hash_table.keys())[list(hash_table.values()).index(1)]
submit後的結果如下:
參考1Python:操作dict时避免出现KeyError的几种方法
參考2Get key by value in dictionary