class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
if(target>nums.back())
return nums.size();
int hi=nums.size()-1,lo=0;
while(lo<hi)
{
if(target<nums[(lo+hi)/2])
{ if((lo+hi)%2==0)
hi=(lo+hi)/2;
else
hi=(lo+hi)/2+1;
}
else if(target>nums[(lo+hi)/2])
{ if((lo+hi)%2==0)
lo=(lo+hi)/2;
else
lo=(lo+hi)/2+1;
}
else
return (lo+hi)/2;
}
return lo;
}
};
本文介绍了一个C++实现的搜索插入位置算法,该算法用于在一个已排序的整数数组中找到目标值应该被插入的位置。通过二分查找的方式,可以在O(log n)的时间复杂度内完成搜索,适用于各种排序数组的插入场景。
457

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



