Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Here are few examples.
[1,3,5,6], 5 → 2
[1,3,5,6], 2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6], 0 → 0
//基于二分查找思想,在nums中查找是否存在target
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int front=0;
int rear=nums.size()-1;
int mid=0;
while (front <= rear) {
mid = (front+rear)/2;
if (nums[mid] < target)
front = mid+1;
else if(nums[mid]>target){
rear = mid-1;
}
else{
return mid;
}
}
return front;
}
};
本文介绍了一个基于二分查找思想的算法实现,该算法用于在一个已排序的数组中查找指定的目标值,并返回目标值的位置或者应该插入的位置。文章通过具体的代码示例展示了如何实现这一功能。
469

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



