164 268 丟失的數字

2022-05-02 17:54:10 字數 847 閱讀 6185

給定乙個包含 [0, n] 中 n 個數的陣列 nums ,找出 [0, n] 這個範圍內沒有出現在陣列中的那個數。(第乙個和第三個我寫的,群眾的眼睛是光亮的)

class solution(object):

def missingnumber1(self, nums):

""":type nums: list[int]

:rtype: int

"""max_value = len(nums)

new_list = [i for i in range(max_value+1)]

return (set(new_list) - set(nums)).pop()

def missingnumber2(self, nums):

""":type nums: list[int]

:rtype: int

"""def missingnumber(self, nums):

"""突發靈感想到了這個

:type nums: list[int]

:rtype: int

"""c = 0

k = 0

for i in nums:

c ^= i

c ^= k

k += 1

c ^= len(nums)

return c

if __name__ == '__main__':

nums = [9, 6, 4, 2, 3, 5, 7, 0, 1]

s1 = solution()

root = s1.missingnumber(nums)

print(root)

丟失的數字

給定乙個包含 0,n 中 n 個數的陣列 nums 找出 0,n 這個範圍內沒有出現在陣列中的那個數。高階 你能否實現線性時間複雜度 僅使用額外常數空間的演算法解決此問題?示例 1 輸入 nums 3,0,1 輸出 2 解釋 n 3,因為有 3 個數字,所以所有的數字都在範圍 0,3 內。2 是丟失...

丟失的數字

丟失的數字 題目描述 給定乙個包含 0,n 中 n 個數的陣列 nums 找出 0,n 這個範圍內沒有出現在陣列中的那個數。示例說明 輸入 nums 3,0,1 輸出 2 解釋 n 3,因為有 3 個數字,所以所有的數字都在範圍 0,3 內。2 是丟失的數字,因為它沒有出現在 nums 中。輸入 n...

找出丟失的數字

有一組數字,從1到n中減少了乙個數,順序也被打亂了,放在乙個n 1的陣列裡,請找出丟失的數字。1 用1 2 n 即n n 1 2 減去當前輸入資料的總和。時間複雜度為o n 空間複雜度o 1 缺點是容易溢位。緩解溢位的方法,求1 2 n的時候,邊加邊減。假如陣列為a,那麼這可以這麼計算1 a 0 2...