/*** 剑指 Offer 53 - II. 0~n-1中缺失的数字*   @author wsq*   @date 2020/10/08一个长度为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链接:https://leetcode-cn.com/problems/que-shi-de-shu-zi-lcof*/
package search;public class MissingNumber {/*** 二分查找,知道目标后使得右指针左移去寻找更小满足条件的位置* @param nums* @return*/public int missingNumber(int[] nums) {int n = nums.length;int pos = n;int left = 0;int right = n - 1;int mid = -1;while(left <= right){mid = (left + right) >> 1;if(nums[mid] != mid){if(mid < pos){pos = mid;}right = mid - 1;}else{left = mid + 1;}}return pos;}public static void main(String[] args) {int[] nums = {0,1,2,3,4,5,6,7,9};MissingNumber mn = new MissingNumber();int ans = mn.missingNumber(nums);System.out.println(ans);}
}

剑指 Offer 53 - II. 0~n-1中缺失的数字(二分查找)相关推荐

  1. 【算法】剑指 Offer 53 - II. 0~n-1中缺失的数字

    1.概述 剑指 Offer 53 - II. 0-n-1中缺失的数字 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0-n-1之内.在范围0-n-1内的n个数字中有且只有一 ...

  2. leetcode剑指 Offer 53 - II. 0~n-1中缺失的数字(二分查找)

    一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0-n-1之内.在范围0-n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字. 示例 1: 输入: [0,1,3 ...

  3. LeetCode-剑指 Offer 53 - II. 0~n-1中缺失的数字

    剑指 Offer 53 - II. 0-n-1中缺失的数字 思路一:简单for循环找 class Solution {public:int missingNumber(vector<int> ...

  4. 剑指offer面试题53 - II. 0~n-1中缺失的数字(二分查找)

    题目描述 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0-n-1之内.在范围0-n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字. 思路 详见链接 代码 ...

  5. 剑指offer | 面试题53 - II. 0~n-1中缺失的数字

    转载本文章请标明作者和出处 本文出自<Darwin的程序空间> 本文题目和部分解题思路来源自<剑指offer>第二版 开始行动,你已经成功一半了,献给正在奋斗的我们 题目 一个 ...

  6. 剑指Offer - 面试题53 - II. 0~n-1中缺失的数字(二分、位运算)

    文章目录 1. 题目 2. 解题 2.1 充分利用题目信息 2.2 位运算 2.3 二分查找 1. 题目 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0-n-1之内.在范 ...

  7. 53 - II. 0~n-1中缺失的数字

    链接 https://leetcode-cn.com/problems/que-shi-de-shu-zi-lcof/ 难度: #简单 题目 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且 ...

  8. 【LeetCode】剑指 Offer 53 - I. 在排序数组中查找数字 I

    [LeetCode]剑指 Offer 53 - I. 在排序数组中查找数字 I 文章目录 [LeetCode]剑指 Offer 53 - I. 在排序数组中查找数字 I 一.二分法 总结 一.二分法 ...

  9. 剑指offer——面试题51:数组中重复的数字

    剑指offer--面试题51:数组中重复的数字 Solution1: 20180910更新.利用数组做一次hash映射,时间复杂度为O(n)O(n)O(n),空间复杂度O(n)O(n)O(n). cl ...

最新文章

  1. ADO.NET Entity Framework 使用数据定义语言(实体框架)
  2. 计算机组成原理——概述2
  3. php查询sql2008数据库操作系统,使用 PHP 进行查询 - Azure SQL Database SQL Managed Instance | Microsoft Docs...
  4. linux0.11文件分析
  5. 【常见笔试面试算法题12续集四】动态规划算法案例分析4 LCS练习题练习题(最长公共子序列的长度)
  6. PaddlePaddle中内置数据集分析
  7. 3分钟tips:泛函中,什么是开映像定理?
  8. 大众点评有多少用户2019_据说2019年度大众点评排名第一
  9. php 变量加的作用是什么,php变量的定义和作用是什么 - php完全自学手册 - php中文网手册...
  10. Qt QAbstractSocket::isValid()
  11. 前端和后端哪个工资高?
  12. canvas画带圆角矩形
  13. 不需要下载7-zip 解压 7z.001 7z.002 7z.003
  14. Unity实战之打靶游戏
  15. C语言与Java的异同
  16. 使用css3d-engine.js编写简单的 360全景h5页面
  17. Jenkins部署Git项目
  18. 设计模式-工厂模式(详细)
  19. 万字长文讲述由ChatGPT反思大语言模型的技术精要
  20. 目标检测-EfficientDet算法介绍

热门文章

  1. apktool高版本产生compileSdkVersion等错误
  2. 校园IP网络广播方案
  3. 网络:认识网络字节序
  4. 大白话 六问数据中台!你想知道的都在这了!
  5. 夏驰和徐策的解决数学问题思路——反证法
  6. ※以一片74163(同步十六进制加法计数器)为核心部件设计可变进制(两种进制选择)计数器
  7. MySQL报错: SQLSTATE[HY000]: General error: 1030 Got error 28 from storage engine
  8. android Bitmap 处理踩坑记
  9. Windows 7 启用、关闭休眠
  10. Linux鼠标变x,VNC 的应用及灰屏鼠标变X问题