LeetCode–0~n-1中缺失的數字
博客說明
文章所涉及的資料來自互聯網整理和個人總結,意在于個人學習和經驗匯總,如有什么地方侵權,請聯系本人洗掉,謝謝!
說明
劍指offer,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
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;
}
}
思路
使用二分法
代碼
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;
}
}
感謝
leetcode
以及勤勞的自己
關注公眾號: 歸子莫,獲取更多的資料,還有更長的學習計劃
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/95085.html
標籤:Java
上一篇:LeetCode–井字游戲
下一篇:mybatis使用總結 (基礎)
