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