标签:题解 二分 返回 数组 erb 防止 下标 begin 顺序
在包含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;
防止过大溢出
标签:题解 二分 返回 数组 erb 防止 下标 begin 顺序
原文地址:https://www.cnblogs.com/lijiahui-123/p/12350524.html