給定乙個包含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 ,所以我們可以用額外的陣列來記錄是否存在,例如 a[3] = 1,a[0] = 1 ,a[1] = 1,那麼 a陣列中為元素為 0 的下標就是要找的資料。
class solution
for(int j = 0;j < a.length;j++)
}return num;
}}
思路二:的 由於題目中給定資料是等差陣列,那麼我們可以用等差公式求得總和,再求 nums 陣列的和,兩者相減便得到缺失的資料。
class solution
return sum - total;
}}
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進行異或將得到某...
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個數,只有乙個數字沒有出現在序列中。可參...