题目:
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int position = 0;
int low = 0;
int up = nums.size()-1;
int mid;
if(nums.size() == 0)
return 0;
while(1)
{
mid = (low + up)/2;
//cout<<mid<<" "<<low<<" "<<up<<endl;
if(low == up)
{
if(target<=nums.at(up))
{
position = up;
break;
}
else
{
position = up+1;
break;
}
}
else if(mid == 0)
{
if(target<=nums.at(mid))
{
position = 0;
break;
}
else
{
low = mid+1;
}
}
else if(target<=nums.at(mid)&&target>nums.at(mid-1))
{
position = mid;
break;
}
else if(target<=nums.at(mid-1))
up = mid-1;
else if(target>nums.at(mid))
low = mid+1;
}
return position;
}
};