题目:0~n-1中缺失的数字。

  一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。

  在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。

题解:

  使用二分法即可。

  

 int findLostNum(const vector<int> &data)
{
if (data.size() == )return -;
int L = , R = data.size() - , M;
if (data[R] == R)return -;
while (L >= && R < data.size() && L <= R)
{
M = (R - L) / + L;
if (data[M] == M)L = M + ;
else if (data[M] > M)
if (M > && data[M - ] == M-)return M;
else if (M == )return ;
else R = M - ;
}
return -;
}

最新文章

  1. 【Unity3d游戏开发】unity3D OnTriggerEnter和OnCollisionEnter的一点个人心得(转载)
  2. 前端---HTML
  3. sssssssss
  4. Semantic UI 使用回调函数
  5. 1671. Anansi&#39;s Cobweb(并查集)
  6. bootstrap table使用小记
  7. android开发
  8. 一个逗比web前端的理想
  9. Instrumentation 框架简介
  10. re模块与正则表达式
  11. JS开发引用HTML DOM的location和document对象
  12. 用kafka实现消息推送
  13. mac 10.12 sierra 机械键盘+ratm可编程鼠标记录
  14. ubuntu 14.04 pytorch安装
  15. 数据库的相关语句(where,order by)
  16. 学习笔记TF023:下载、缓存、属性字典、惰性属性、覆盖数据流图、资源
  17. Ubuntu18.04更换国内源
  18. 论文--Topic-Sensitive PageRank
  19. Python day2_int以及string的常见方法1_笔记
  20. Mybatis插件使用-统计sql执行时间

热门文章

  1. HTML5: HTML5 Geolocation(地理定位)
  2. 90、Tensorflow实现分布式学习,多台电脑,多个GPU 异步试学习
  3. C++——class类和struct结构体的唯一区别
  4. 28. Python编写自动化测试用例
  5. Java + selenium 启动谷歌浏览器
  6. nginx安装教程(详细)
  7. Linux下安装JDK(小白教程)
  8. camunda授权的一些简单操作
  9. scala调用系统-scala.sys.process使用
  10. Vertical-Align,你应该知道的一切