乙個長度為n-1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0~n-1之內。在範圍0~n-1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。1.從0判斷到陣列最後一位,如果下標與陣列1值不同則返回下標,如果全相同則返回最後一位+1示例 1:
輸入: [0,1,3] 輸出: 2 示例 2:
輸入: [0,1,2,3,4,5,6,7,9] 輸出: 8
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,如果從當前找的到位置往兩頭開始遍歷,那麼有可能整個陣列為一樣的數,所以時...