60. 搜索插入位置
给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。
你可以假设在数组中无重复元素。
您在真实的面试中是否遇到过这个题?
Yes
样例
[1,3,5,6],5 → 2
[1,3,5,6],2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6],0 → 0
标签
AC代码:
class Solution {
public:
/*
* @param A: an integer sorted array
* @param target: an integer to be inserted
* @return: An integer
*/
int searchInsert(vector<int> &A, int target) {
// write your code here
int len=A.size();
int left=0;
int right=len-1;
int mid;
while(left<=right){
mid=(left+right)/2;
if(A[mid]==target){
return mid;
}
else if(A[mid]<target){
left=mid+1;
}
else if(A[mid]>target){
right=mid-1;
}
}
return left;
}
};
网友评论