91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LeetCode如何查出只出現一次的數

發布時間:2021-12-15 10:47:24 來源:億速云 閱讀:155 作者:小新 欄目:大數據

這篇文章將為大家詳細講解有關LeetCode如何查出只出現一次的數,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1

 題目描述

給定一個非空整數數組,只有一個數字出現一次,其余出現兩次,找出只出現一次的數字。如輸入[3,4,5,4,3],輸出5。

2

 知識點

思路一  :  建立哈希表記錄每個值出現的次數

前兩天刷題都是建立哈希表,思維慣性第一反應又是這個。遍歷每個值,建立字典記錄出現次數,返回出現次數為1的值即可。

class Solution:    def singleNumber(self, nums: List[int]) -> int:        countnum=dict()        for i in nums:            if i in countnum:                countnum[i]=countnum[i]+1            else:                countnum[i]=1        for e,v in countnum.items():            if v == 1:                return e
思路二  :  集合差值

python中set表示無序不重復集合,對集合可直接求差值,得到兩個集合中不同的值。

class Solution:    def singleNumber(self, nums: List[int]) -> int:        nums.sort()         return list(set(nums[::2]) - set(nums[1::2]))[0]
思路三  :  異或運算(位運算)

看其他人解題思路看到的方法。異或運算規則是:如果a、b兩個值不相同,則結果為1;如果a、b兩個值相同,結果為0。計算機中用二進制進行存儲,所以[3,5,3]通過異或有如下結果:3是011,5是101,兩者異或結果為110,再與3進行異或則為011^110=101,即所要的結果5。

class Solution:    def singleNumber(self, nums: List[int]) -> int:        res = 0        for i in nums:            res ^= i        return res

關于“LeetCode如何查出只出現一次的數”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

登封市| 永春县| 青州市| 兴城市| 米脂县| 阳谷县| 平湖市| 葫芦岛市| 宣化县| 望谟县| 常州市| 喜德县| 穆棱市| 卢氏县| 新和县| 沭阳县| 鹤峰县| 太保市| 永定县| 咸阳市| 房产| 浑源县| 六安市| 德兴市| 汤阴县| 枞阳县| 莆田市| 葫芦岛市| 赤峰市| 勃利县| 嘉义市| 苍梧县| 穆棱市| 格尔木市| 永仁县| 饶平县| 温州市| 甘孜| 南宁市| 邢台市| 师宗县|