题目大意:给定一个排好序的数组序列,和一个数target。求这个数target在序列中的位置。如果存在,返回这个位置,如果不存在,返回这个数target能够摆放的位置
解题思路:二分查找
class Solution {
public:
int searchInsert(int A[], int n, int target) {
int low = 0, high = n - 1;
int mid = -1;
while(low <= high) {
mid = (low + high) >> 1;
if(A[mid] == target) {
return mid;
} else if(A[mid] > target) {
high = mid - 1;
} else {
low = mid + 1;
}
}
return A[mid] > target ? high + 1 : low;
}
};