丟失的數字

2022-10-09 08:51:08 字數 868 閱讀 8744

丟失的數字

題目描述:

給定乙個包含 [0, n] 中 n 個數的陣列 nums ,找出 [0, n] 這個範圍內沒有出現在陣列中的那個數。
示例說明:
輸入:nums = [3,0,1]

輸出:2

解釋:n = 3,因為有 3 個數字,所以所有的數字都在範圍 [0,3] 內。2 是丟失的數字,因為它沒有出現在 nums 中。

輸入:nums = [0,1]

輸出:2

解釋:n = 2,因為有 2 個數字,所以所有的數字都在範圍 [0,2] 內。2 是丟失的數字,因為它沒有出現在 nums 中。

基礎解題思路:
開始一直不理解為什麼最後要返回陣列的長度,後發現是最後那個數;

利用陣列是從0開始的,一共n個數,陣列下標最多是到n-1, 當第乙個nums[i]!=i 就是丟失的那個數

1.要知道 arrays.sort()可以公升序陣列

2.利用for迴圈

3.如果裡面的數都滿足要求,那就是最後乙個數(nums。length)

原始碼:
class solution {

public int missingnumber(int nums) {

arrays.sort(nums);//陣列排序

for(int i =0;i異或運算解題思路利用異或運算來做這道題 兩個數相同時為0,不同時為1,出現

注意重點是兩個數,那就需要重新定義乙個陣列,把原來那個陣列賦值給新陣列,

再把陣列長度用乙個for迴圈全部賦給新陣列,

再通過異或來比較,為一的那個數就是丟失的數

原始碼:

丟失的數字

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

找出丟失的數字

有一組數字,從1到n中減少了乙個數,順序也被打亂了,放在乙個n 1的陣列裡,請找出丟失的數字。1 用1 2 n 即n n 1 2 減去當前輸入資料的總和。時間複雜度為o n 空間複雜度o 1 缺點是容易溢位。緩解溢位的方法,求1 2 n的時候,邊加邊減。假如陣列為a,那麼這可以這麼計算1 a 0 2...

找出丟失的數字

標籤 演算法 擴充套件面試儲存 2011 11 04 07 02 1232人閱讀收藏 舉報 演算法 algorithm 111 有一組數字,從1到n中減少了乙個數,順序也被打亂了,放在乙個n 1的陣列裡,請找出丟失的數字。1 用1 2 n 即n n 1 2 減去當前輸入資料的總和。時間複雜度為o n...