LeetCode刷題 缺失數字

2021-10-01 02:47:25 字數 1037 閱讀 5142

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

示例 1:

輸入: [3,0,1]

輸出: 2

示例 2:

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

輸出: 8

說明:

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

題解1:

排序進行查詢,如果缺失數字在中間,則return i,如果缺失數字在最後,則return陣列最後數字加1.

時間和記憶體消耗為:

**為:

class

solution

}return nums[nums.length-1]

+1;}

}

題解2:

看了官方的題解,發現可以用求和公式去做,因為就缺少乙個數字,對前n項求和減去陣列中的數字即得答案。

時間和記憶體消耗為:

**為:

class

solution

return sum;

}}

題解3:

數字自己與自己異或結果為0,根據這個可以採用異或的方法。除了缺失數字,其餘各個數字均與陣列下標對應相同。

時間和記憶體消耗為:

**為:

class

solution

return ans;

}}

牛客網刷題 缺失數字

從0,1,2,n這n 1個數中選擇n個數,組成有序陣列,找出這n個數中缺失的那個數,要求o n 盡可能小。輸入描述 輸入乙個陣列 0 n 輸出描述 輸出缺失的數字 輸入 0,1,2,3,4,5,7 輸出 6通過迴圈 通過數學的思路,1 n的和為 n n 1 2 通過異或的特性,計算結果 相同的數字異...

LeetCode刷題 374 猜數字大小

猜數字遊戲的規則如下 每輪遊戲,我都會從 1 到 n 隨機選擇乙個數字。請你猜選出的是哪個數字。如果你猜錯了,我會告訴你,你猜測的數字比我選出的數字是大了還是小了。你可以通過呼叫乙個預先定義好的介面 int guess int num 來獲取猜測結果,返回值一共有 3 種可能的情況 1,1 或 0 ...

Leetcode刷題05 丟失的數字

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