class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int high = nums.size();
int low = 0;
int mid = (low+high)/2;
int prev_mid = mid;
if(target < nums[low])
return low;
else if(target > nums[high-1])
return high;
while(low < high)
{
if(target == nums[mid] )
{
return mid;
}
else if(target > nums[mid])
{
low = mid;
mid= (low + high)/2;
}
else
{
high = mid;
mid = (low+high)/2;
}
if(prev_mid == mid)
{
break;
}
else {
prev_mid = mid;
}
}
return mid+1;
}
};
