Leetcode練習(Python):哈希表類:第136題:給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。


題目:
給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。
思路:
使用哈希表,第一次遍歷記錄元素出現的次數,第二次遍歷查詢只出現一次的元素。
程序:
class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        length = len(nums)
        if length <= 0:
            return 
        if length == 1:
            return nums[0]
        myHashMap = {}
        for num in nums:
            myHashMap[num] = myHashMap.get(num, 0) + 1
        for num in nums:
            if myHashMap.get(num) == 1:
                return num


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 Leetcode練習(Python):數組類:第169題:給定一個大小為 n 的數組,找到其中的多數元素。多數元素是指在數組中出現次數大於 ⌊ n/2 ⌋ 的元素。 你可以假設數組是非空的,並且給定的數組總是存在多數元素。 Leetcode練習(Python):第303題:區域和檢索 - 數組不可變:給定一個整數數組 nums,求出數組從索引 i 到 j (i ≤ j) 范圍內元素的總和,包含 i, j 兩點。 Leetcode練習(Python):數組類:第34題:給定一個按照升序排列的整數數組 nums,和一個目標值 target。找出給定目標值在數組中的開始位置和結束位置。 你的算法時間復雜度必須是 O(log n) 級別。 如果數組中不存在目標值,返回 [-1, -1]。 Leetcode 136.只出現一次的數字 By Python Leetcode練習(Python):哈希表類:第202題:編寫一個算法來判斷一個數 n 是不是快樂數。 「快樂數」定義為:對於一個正整數,每一次將該數替換為它每個位置上的數字的平方和,然后重復這個過程直到這個數變為 1,也可能是 無限循環 但始終變不到 1。如果 可以變為  1,那么這個數就是快樂數。 如果 n 是快樂數就返回 True ;不是,則返回 False 。 Leetcode練習(Python):數組類:第53題:給定一個整數數組 nums ,找到一個具有最大和的連續子數組(子數組最少包含一個元素),返回其最大和。進階: 如果你已經實現復雜度為 O(n) 的解法,嘗試使用更為精妙的分治法求解。 Leetcode練習(Python):哈希表類:第166題:分數到小數:給定兩個整數,分別表示分數的分子 numerator 和分母 denominator,以字符串形式返回小數。 如果小數部分為循環小數,則將循環的部分括在括號內。 Leetcode練習(Python):數組類:第59題:給定一個正整數 n,生成一個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。 Leetcode練習(Python):數組類:第64題:給定一個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和為最小。 說明:每次只能向下或者向右移動一步。 Leetcode練習(Python):數組類:第121題:給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多只允許完成一筆交易(即買入和賣出一支股票一次),設計一個算法來計算你所能獲取的最大利潤。 注意:你不能在買入股票前賣出股票。
 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM