leetcode35. Search Insert Position
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
double pos = binarySearchPos(nums,target,0,nums.size() - 1);
return ceil(pos);
}
double binarySearchPos(vector<int>& nums1, double num, int start, int end) {
int left = start, right = end, medium = 0;
while (left<right) {
medium = left + (right - left) / 2;
if (nums1[medium] - num >0.4) {
right = medium;
}
else if (num - nums1[medium] >0.4) {
left = medium + 1;
}
else {
return medium;
}
}
double left1;
if (nums1[left] - num<0.4 && num - nums1[left] <0.4)
left1 = left;
else if (nums1[left] - num>0.4) {
left1 = left - 0.5;
}
else {
left1 = left + 0.5;
}
return left1;
}
};