0-n-1中缺失的数字

一共N个数范围在0 ~ n-1 之间; 但是数组的长度只是n - 1 所以有一个数缺失了,找出那个缺失的数字、
有两个关键信息;

  • 数组是有序的,递增
  • 数字都是唯一的,就少一个数字

二分
需要先将特殊情况排除掉;

  • 数组为空
  • n - 1个数都是正确的下标是[0, n - 2],缺少最后一个数
var missingNumber = function(nums) {if (nums === null) return 0;let len = nums.length;if (nums[len - 1] == len - 1) return len;let l = 0, r = nums.length - 1;while (l < r) {let mid = l + r >> 1;if (nums[mid] != mid) r = mid;else l = mid + 1;}return l;
};

0-n-1中缺失的数字相关推荐

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

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

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

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

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

    /*** 剑指 Offer 53 - II. 0-n-1中缺失的数字* @author wsq* @date 2020/10/08一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在 ...

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

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

  5. n-1 java_【Java】 剑指offer(53-2) 0到n-1中缺失的数字

    本文参考自<剑指offer>一书,代码采用Java语言. 题目 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0到n-1之内.在范围0到n-1的n个数字中有且只 ...

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

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

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

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

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

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

  9. 【剑指offer】面试题53 - II:0~n-1中缺失的数字(java)

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

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

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

最新文章

  1. 反汇编算法介绍和应用——递归下降算法分析
  2. 关于文件导出(下载)功能不兼容IE浏览器的解决方案
  3. Qt编写可换肤的中文双拼汉字输入法
  4. 【数据结构与算法】5. C++中 list、deque、vector对比
  5. windows mobile C# net3.5 如何捕捉Arrow的CheckBox的KeyDown事件?
  6. 非注解和注解的处理器映射器和适配器---SpringMVC学习笔记(三)
  7. Yahoo网站性能最佳体验的34条黄金守则
  8. python中英文字符和中文字符存储长度不同_Django如何正确截取中英混合字符串及表单中限制中文字符中长度...
  9. centos7安装snort的九九八十一难!
  10. MySQL操作语句(快速办公)
  11. 433M超再生无线模块编码-解码
  12. Java跨年祝福语代码_[商业跨年祝福语]跨年祝福语贺词大全
  13. Win10和win11有什么区别?想重装win10系统怎么操作?
  14. flink Too many fields referenced from an atomic type
  15. android中如何打开指定卡上的数据连接开关,Android 代码控制手机数据网络的开关(5.0以上)...
  16. 搜狐狐友营销的十二个办法
  17. Android Native程序crash的一些定位方法简介
  18. 基于FFmpeg的视频播放器之一:开篇
  19. 查询域名+查看备案信息
  20. 人脸识别8-网纹照及多人脸比对

热门文章

  1. pycharm和python一样吗_PyCharm中Directory与Python package的区别
  2. python怎么读写文件-一文看懂Python文件的读取写入操作,建议收藏-bak文件怎么打开...
  3. python的第三方库是干什么用的-quot;别人造好的轮子”,python常用第三方库——python自动办公7...
  4. python学到什么程度可以找到工作-Python学到什么程度才可以去找工作?掌握这4点足够了!...
  5. python代码-20个Python代码段,你需要立刻学会,好用到哭!
  6. python手机版-手机版python
  7. python免费课程400节-小码王少编程经典课程都有哪几个 这里揭晓
  8. python入门先学什么-Python入门学习 DAY 01 计算机基础
  9. python爬虫什么意思-python爬虫可以爬什么
  10. python编程案例教程-Python程序开发案例教程