给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。
int a = numsSize/2;
if(target < nums[0]){
return 0;
}else if(target > nums[numsSize-1]){
return numsSize;
}
while(nums[a] != target && a != numsSize && a!= 0){
if(nums[a-1] < target && nums[a+1] > target){
if(nums[a] > target){
return a;
}else if(nums[a]<target){
return a+1;
}
}
else if(nums[a] > target){
a /= 2;
}else if(nums[a] < target){
a = (numsSize+a)/2;
}
}
return a;
}