二分查找,结束时left恰好停在比目标值大的index上,right恰好停在比目标值小的index上
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int n=nums.size();
int left=0,right=n-1;
while(left<=right)
{
int mid=(left+right)>>1;
if(nums[mid]==target)
return mid;
if(nums[mid]>target)
right=mid-1;
else
left=mid+1;
}
return left;
}
};
本文介绍了一种二分查找算法的实现方式,该算法在结束时能使left指针停留在比目标值大的位置,而right指针停留在比目标值小的位置。通过这种方式,可以有效地确定目标值在有序数组中应该插入的位置。
460

被折叠的 条评论
为什么被折叠?



