Search Insert Position
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int len = nums.size();
int left = 0, right = len-1;
if(len < 1) return 0;
// for 1 number
if(len == 1){
if(target < nums[0]){
return 0;
}
else if(target == nums[0]){
return 0;
}
else{
return 1;
}
}
while(left + 1 < right){
int mid = left + (right-left)/2;
if(target == nums[mid]){
return mid;
}
else if(target > nums[mid]){
left = mid;
}
else{
right = mid;
}
}
// for 2 nums
if(target == nums[left]){
return left;
}
else if(target == nums[right]){
return right;
}
else if(target < nums[left]){
return 0 ;
}
else if(target > nums[right]){
return right + 1;
}
else{
return right;
}
}
};