面試題53 II 0 n 1中缺失的數字

2021-10-05 21:51:38 字數 552 閱讀 1872

題目描述

乙個長度為n-1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0~n-1之內。在範圍0~n-1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。

示例 1:

輸入: [0,1,3]

輸出: 2

示例 2:

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

輸出: 8

要點

遞增,有序,特點:丟失前陣列數值等於索引值,丟失後不等,丟失值為丟失後第乙個位置的索引。

有序陣列常用:二分法和雙指標法。

解題思路

二分法,二分查詢mid值是否與索引值相等,直至查詢到丟失後的第乙個位置。

class

solution

else j = mid-1;

//右陣列的首位元素在[i,mid-1]中或者跳出迴圈(此時i值即為右陣列首位元素)

}return i;}}

;

面試題53 II 0 n 1中缺失的數字

題目 乙個長度為n 1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0 n 1之內。在範圍0 n 1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。示例 示例 1 輸入 0,1,3 輸出 2 示例 2 輸入 0,1,2,3,4,5,6,7,9 輸出 8 解釋 0,1 表示陣列...

面試題53 II 0 n 1中缺失的數字

題目 乙個長度為n 1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0 n 1之內。在範圍0 n 1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。示例1 輸入 0,1,3 輸出 2 方法一 二分法 可以發現規律,如果下標 index nums index 的話,所缺的值在中...

面試題53 II 0 n 1中缺失的數字

乙個長度為n 1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0 n 1之內。在範圍0 n 1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。示例 1 輸入 0,1,3 輸出 2 示例 2 輸入 0,1,2,3,4,5,6,7,9 輸出 8 class solution el...