給定乙個包含0, 1, 2, ..., n
中 n 個數的序列,找出 0 .. n 中沒有出現在序列中的那個數。
示例 1:
輸入: [3,0,1]
輸出: 2
示例 2:
輸入: [9,6,4,2,3,5,7,0,1]
輸出: 8
說明:
你的演算法應具有線性時間複雜度。你能否僅使用額外常數空間來實現?
思路:首先通過set將nums排序,然後通過乙個從0開始的累加器與nums中的每乙個元素去比較,不相同是count就是我們想要的值
class solution:
def missingnumber(self, nums):
""":type nums: list[int]
:rtype: int
"""nums = list(set(nums))
count = 0
for i in nums:
if count != i:
return count
count += 1
s1 = solution()
print(s1.missingnumber([3, 0, 1]))
print(s1.missingnumber([9,6,4,2,3,5,7,0,1]))
LeetCode 268 缺失數字
給定乙個包含 0,1,2,n 中 n 個數的序列,找出 0 n 中沒有出現在序列中的那個數。示例 1 輸入 3,0,1 輸出 2 示例 2 輸入 9,6,4,2,3,5,7,0,1 輸出 8 說明 你的演算法應具有線性時間複雜度。你能否僅使用額外常數空間來實現?思路1 異或。對0 n進行異或將得到某...
leetcode 268 缺失數字
給定乙個包含0,1,2,n中 n 個數的序列,找出 0 n 中沒有出現在序列中的那個數。示例 1 輸入 3,0,1 輸出 2示例 2 輸入 9,6,4,2,3,5,7,0,1 輸出 8說明 你的演算法應具有線性時間複雜度。你能否僅使用額外常數空間來實現?思路一 由於題目中的資料給定的是 0 n 所以...
leetcode268缺失數字
給定乙個包含 0,1,2,n 中 n 個數的序列,找出 0 n 中沒有出現在序列中的那個數。示例 1 輸入 3,0,1 輸出 2 示例 2 輸入 9,6,4,2,3,5,7,0,1 輸出 8 思路 按照例項,題意應該是在數字為0 n的序列,n 1個數,現在為n個數,只有乙個數字沒有出現在序列中。可參...