leetcode268缺失數字

2021-10-02 16:26:00 字數 685 閱讀 1383

給定乙個包含 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個數,只有乙個數字沒有出現在序列中。可參考題389找不同 136只出現一次的數字,生成乙個新的0-n的完整序列,和原序列拼接後做異或運算,即得到沒有出現在序列中的數字。

python**如下:

class solution(object):

def missingnumber(self, nums):

""":type nums: list[int]

:rtype: int

"""n = len(nums)

nums1 = [i for i in range(n+1)]

# 生成0-n的數字序列nums2

nums2 = nums1+nums

res = 0

for i in range(len(nums2)):

res = res^nums2[i]

return res

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說明 你的演算法應具有線性時間複雜度。你能否僅使用額外常數空間來實現?思路 首先通過set將nums排序,然後通過乙...

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 所以...