if(v > a[n -1]){
return n+1;
}
int left = 0;
int right = n-1;
int mid = (left + right ) / 2;
while(left < right){
if(a[mid] >= v){
right = mid;
}else{
left =mid+1;
}
mid = left + (right - left)/2;
}
return mid+1;
请实现有重复数字的有序数组的二分查找。 输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一。
最新推荐文章于 2024-04-26 16:27:53 发布