【剑指offer】面试题53 - II:0~n-1中缺失的数字(java)
一個長度為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?{
????public?int?missingNumber(int[]?nums)?{
????????if(nums.length==0)
????????????{
????????????????return?0;
????????????}
?????????????if(nums.length==1&&nums[0]!=0)
????????????{
????????????????return?0;
????????????}
????????????if(nums[nums.length-1]==nums.length-1)
????????????{
????????????????return?nums.length;
????????????}
????????????int?left?=?0,right=nums.length-1;
????????????int?mid?=?0;
????????????while(left<right)
????????????{
????????????????mid?=?left+(right-left)/2;
????????????????if(nums[mid]==mid)
????????????????{
????????????????????left?=?mid+1;
????????????????}
????????????????else
????????????????{
????????????????????right?=?mid;
????????????????}
????????????}
????????????return?right;
????}
}
總結
以上是生活随笔為你收集整理的【剑指offer】面试题53 - II:0~n-1中缺失的数字(java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python-类方法和属性
- 下一篇: 第二章 数据的表示和运算 2.1.3 字