LeetCode(剑指 Offer)- 53 - II. 0~n-1中缺失的数字
Posted 放羊的牧码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(剑指 Offer)- 53 - II. 0~n-1中缺失的数字相关的知识,希望对你有一定的参考价值。
题目链接:点击打开链接
题目大意:略
解题思路:略
相关企业
- 字节跳动
AC 代码
- Java
// 解决方案(1)
class Solution
public int missingNumber(int[] nums)
int l = 0, r = nums.length - 1;
while (l <= r)
int m = (l + r) / 2;
if (nums[m] == m)
l = m + 1;
else if (nums[m] > m)
r = m - 1;
else
return m;
return l; // 缺失的是最后一个数字 + 1, 正好是 l 的值
// 解决方案(2)
class Solution
public int missingNumber(int[] nums)
int i = 0, 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;
- C++
class Solution
public:
int missingNumber(vector<int>& nums)
int i = 0, j = nums.size() - 1;
while(i <= j)
int m = (i + j) / 2;
if(nums[m] == m) i = m + 1;
else j = m - 1;
return i;
;
以上是关于LeetCode(剑指 Offer)- 53 - II. 0~n-1中缺失的数字的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode(剑指 Offer)- 53 - I. 在排序数组中查找数字 I
LeetCode(剑指 Offer)- 53 - II. 0~n-1中缺失的数字
LeetCode(剑指 Offer)- 53 - II. 0~n-1中缺失的数字
LeetCode(剑指 Offer)- 53 - I. 在排序数组中查找数字 I