剑指offer-面试题53_2-0~n-1中缺失的数字-二分查找
Posted buaazhhx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer-面试题53_2-0~n-1中缺失的数字-二分查找相关的知识,希望对你有一定的参考价值。
/* 题目: 寻找递增数组0~n-1中缺失的数字。 */ /* 思路: 变形二分法。 */ #include<iostream> #include<cstring> #include<vector> #include<algorithm> #include<map> using namespace std; int getMissingNumber(vector<int> &A, int n){ int start = 0; int end = n - 1; int mid = (start + end) / 2; while(start < end){ if(mid == A[mid]){ start = mid + 1; }else if(mid < A[mid]){ end = mid - 1; }else{ return -1; } mid = (start + end) / 2; //cout<<start<<" "<<end<<endl; } return start; } int main(){ vector<int> a = {1,2,3,4,5,6,7}; cout<<getMissingNumber(a,8); }
以上是关于剑指offer-面试题53_2-0~n-1中缺失的数字-二分查找的主要内容,如果未能解决你的问题,请参考以下文章
剑指Offer面试题53 - II. 0~n-1中缺失的数字
算法剑指 Offer 53 - II. 0~n-1中缺失的数字