LeetCode–0~n-1中缺失的數字

LeetCode–0~n-1中缺失的數字

博客說明java

文章所涉及的資料來自互聯網整理和我的總結,意在於我的學習和經驗彙總,若有什麼地方侵權,請聯繫本人刪除,謝謝!數組

說明

劍指offer,53-II學習

0~n-1中缺失的數字code

題目

一個長度爲n-1的遞增排序數組中的全部數字都是惟一的,而且每一個數字都在範圍0~n-1以內。在範圍0~n-1內的n個數字中有且只有一個數字不在該數組中,請找出這個數字。排序

示例 1leetcode

輸入: [0,1,3]
輸出: 2

示例 2get

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

Java

思路

判斷下標是否爲當前的數,不是直接返回博客

代碼
class Solution {
    public int missingNumber(int[] nums) {
        for(int i = 0;i<nums.length;i++){
            if(nums[i] != i){
                return i;
            }
        }
     	  return nums.length;
    }
}
思路

使用二分法io

代碼
class Solution {
    public int missingNumber(int[] nums) {
        int i = 0; 
        int j = nums.length - 1;
        while(i <= j){
            int m = (i+j)/2;
            if(nums[m] == m){
                i = m + 1;
            }else{
                j = m - 1;
            }
        }
        return i;
    }
}

感謝class

leetcode

以及勤勞的本身 關注公衆號: 歸子莫,獲取更多的資料,還有更長的學習計劃

相關文章
相關標籤/搜索