LeetCode 0268 缺失的數字

2021-09-29 11:40:09 字數 1075 閱讀 6992

給定乙個包含0, 1, 2, ..., n中 n 個數的序列,找出 0 … n 中沒有出現在序列中的那個數。

示例 1:

輸入: [3,0,1]

輸出: 2

示例 2:

輸入: [9,6,4,2,3,5,7,0,1]

輸出: 8

說明:

你的演算法應具有線性時間複雜度。你能否僅使用額外常數空間來實現?

將原陣列看作乙個「bitmap」

第一次遍歷,將num[i]放到第i個位置上(除了n之外);

第二次遍歷,判斷map後的陣列,各個位置上的元素是否和下標相同,若不對應,則返回該下標(即缺失的數字)。

class

solution

else

}for

(i =

0; i < n; i++

)return n;

}private

void

swap

(int

nums,

int i,

int j)

}

時間複雜度:o(n

)o(n)

o(n)

空間複雜度:o(1

)o(1)

o(1)

。除了缺失的那個數字,其餘數字和序列索引是成對出現的。

class

solution

return res ^ nums.length;

}}

時間複雜度:o(n

)o(n)

o(n)

空間複雜度:o(1

)o(1)

o(1)

leetcode 163 缺失的區間

給定乙個排序的整數陣列 nums 其中元素的範圍在 閉區間 lower,upper 當中,返回不包含在陣列中的缺失區間。示例 輸入 nums 0,1,3,50,75 lower 0 和 upper 99,輸出 2 4 49 51 74 76 99 class solution else if num...

LeetCode 163 缺失的區間

給定乙個排序的整數陣列 nums 其中元素的範圍在 閉區間 lower,upper 當中,返回不包含在陣列中的缺失區間。示例 輸入 nums 0 1,3 50,75 lower 0 和 upper 99,輸出 2 4 49 51 74 76 99 class solution if l upper ...

leetcode 163缺失的空間

給定乙個排序的整數陣列 nums 其中元素的範圍在 閉區間 lower,upper 當中,返回不包含在陣列中的缺失區間。示例 輸入 nums 0,1,3,50,75 lower 0 和 upper 99,輸出 2 4 49 51 74 76 99 char findmissingranges int...