劍指offer53題 0 n 1中缺失的數字

2021-10-23 21:07:47 字數 505 閱讀 8308

乙個長度為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

1.從0判斷到陣列最後一位,如果下標與陣列1值不同則返回下標,如果全相同則返回最後一位+1

class

solution

return nums[nums.

size()

-1]+

1;}}

;

2.二分法,如果中位數與下標相同,則缺失的數字在右側陣列中,如果下標與中位數不同,則在左陣列中

class

solution

return left;}}

;

劍指Offer之0 n 1中缺失的數字

題目描述 乙個長度為n 1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0 n 1之內。在範圍0 n 1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。思路分析 可以考慮用二分法來解決問題 令mid left right 2 public intmissingnumber i...

二分查詢 53題 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 限制 1 陣列長度 10000clas...

劍指Offer 53 在排序陣列中查詢數字

package 劍指offer public class 劍指53 在排序陣列中查詢數字 和數字3,由於3在陣列中出現4次,所以返回結果4 思路 因為陣列是有序的,所以採用二分法查詢,當找到乙個k時,因為可能前面或者後面都有k,如果從當前找的到位置往兩頭開始遍歷,那麼有可能整個陣列為一樣的數,所以時...