leetcode力扣136.只出現一次的數字

safre發表於2020-11-13

直接看題,要求輸出只出現一次的數字
在這裡插入圖片描述
一般的想法應該是變成集合,除去重複的部分,就像下面的

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        for x in set(nums):
            i = nums.count(x)
            if i == 1:
                return x
                break

算出他們在列表中的數量,如果是1就輸出並且中斷迴圈,當然還有別的辦法更簡單,一句話!

return sum(set(nums))*2-sum(nums)

除此之外還有一個方法可以把列表中的數字刪除兩次,如果有個報錯就輸出

      while True:
            d = nums[0]
            nums.remove(d)
            try:
                nums.remove(d)
            except:
                return d

有幫助的話給個三連吧!!!

相關文章