1. 程式人生 > >只出現一次的數字 II leetcode

只出現一次的數字 II leetcode

給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。

說明:

你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎?

示例 1:

輸入: [2,2,3,2]
輸出: 3

示例 2:

輸入: [0,1,0,1,0,1,99]
輸出: 99
class Solution(object):
    def singleNumber(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        res = [0 for _ in range(32)]
        for i in range(32):
            for ele in nums:
                if ele & (2 ** i) == pow(2, i):
                    res[i] += 1
        res = [ele % 3 for ele in res]
        result = 0
        if res[-1] == 0:
            for ind, ele in enumerate(res):
                if ele == 1:
                    result |= 2 ** ind
            return result
        else:
            for ind, ele in enumerate(res[:-1]):
                if ele == 0:
                    result |= 2 ** ind
            return -(result + 1)

相關推薦

中金所面試題目之找出出現數字

題目:n個int型數字,兩兩重複,只有一個是出現一次,找出它。 思路:^位異或操作,具有如下性質:1.交換律與結合律。2.自己與自己異或是0。3.自己與0異或是自己 程式碼: #include <

Leetcode 137:出現數字 II(最詳細的解法!!!)

給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,3,2] 輸出: 3 示例 2: 輸入: [0,1

LeetCode】137. 出現數字 II 結題報告 (C++)

原題地址:https://leetcode-cn.com/problems/single-number-ii/description/ 題目描述: 給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性

LeetCode】#137出現數字II(Single Number II)

【LeetCode】#137只出現一次的數字II(Single Number II) 題目描述 給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示

leetcode 137. 出現數字 II

給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 這種純數字計算的問題,如果我們只用加減乘除就能做出來,那leetcode就

Leetcode-137. 出現數字 II (python3實現)

給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1:

LeetCode-137:Single Number II (出現數字)

題目: Given a non-empty array of integers, every element appears three times except for one, which appears exactly once. Find that s

LeetCode 中等題】64-出現數字II

題目描述:給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,3,2] 輸出: 3 示例 2

出現數字 II leetcode

給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1:

LeetCode 137 Single Number II出現數字 II)(*)

翻譯 給定一個整型陣列,除了某個元素外其餘的均出現了三次。找出這個元素。 備註: 你的演算法應該是線性時間複雜度。你可以不用額外的空間來實現它嗎? 原文 Given an array

Leetcode-探索 | 出現數字

求和 時空 技巧 做的 計算 輸出 奇技淫巧 leetcode bsp 給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間復雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2

137. 出現數字 II

clas 進制 數字 bsp 代碼 for turn color style 題目 給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現了三次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間復雜度。 你可以不使用額外空間來實現嗎? 示例 1:

LeetCode--136--出現數字

實現 額外 比較 pre 整數 etc -- tco tro 問題描述: 給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間復雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [

leetcode】136.出現數字 c++實現

【leetcode】136.只出現一次的數字 c++實現 題目 給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 例1: 輸入: [2,2,1] 輸出: 1 例2 輸入: [4,1,2,1,2] 輸出: 4

LeetCode-136 Single Number 出現數字

題目連結 https://leetcode-cn.com/problems/single-number/ 題意 中文題,題意很簡單。 題解         很有趣的一個題,最簡單粗暴的當然是開闢額外空間暴力計算了。題目限制很多:最多隻出

Leetcode 136:出現數字(最詳細的解法!!!)

給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入: [4,1,2,

leet137. 出現數字 II

題目: 給定一個整型陣列,除了一個元素只出現一次外,其餘每個元素都出現了三次。求出那個只出現一次的數。 注意: 你的演算法應該具有線性的時間複雜度。你能否不使用額外的記憶體來實現? 分析: 通過集合運算可以得到去除每個元素只出現一次的集合,計算集合和的3倍,減去原列表之

Leetcode 260:出現數字 III(最詳細的解法!!!)

給定一個整數陣列 nums,其中恰好有兩個元素只出現一次,其餘所有元素均出現兩次。 找出只出現一次的那兩個元素。 示例 : 輸入: [1,2,1,3,2,5] 輸出: [3,5] 注意: 結果輸出的順序並不重要,對於上面的例子, [5, 3] 也是正確答案。

LeetCode演算法題136:出現數字解析

給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例1: 輸入: [2,2,1] 輸出: 1 示例2: 輸入: [4,1,2,1,2] 輸出: 4

[Swift]LeetCode137. 出現數字 II | Single Number II

Given a non-empty array of integers, every element appears three times except for one, which appears exactly once. Find that single one