(二分查找)LowerBound
Posted lijiahui-123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(二分查找)LowerBound相关的知识,希望对你有一定的参考价值。
在包含size个元素的,从小到大顺序的int数组a里查找比给定整数p小的,下标最大的元素,找不到返回-1
题解:
int LowerBound(int a[],int size,int p)
{
int begin=0;
int end=size-1;
int pos=-1;
while(begin>=end){
int mid;
mid=(begin+end)/2;
if(p>a[mid]){
p=a[mid];
begin=mid+1;
}else{
end=mid-1;
}
}
return pos;
}
将int mid=(begin+end)/2;改成int mid=begin(end-begin)/2;
防止过大溢出
以上是关于(二分查找)LowerBound的主要内容,如果未能解决你的问题,请参考以下文章