您的位置:首页 > 其它

leetcode ----167. Two Sum II - Input array is sorted

2016-10-26 10:19 387 查看
int helper(int left,int right,int target,vector<int>&numbers)
{

while(left<=right)
{
int mid = (right+left)/2;
if(numbers[mid]==target)
{
return mid;
}
if(numbers[mid]<target)
{
left = mid+1;
}
else
right = mid-1;

}
return -1;
}
vector<int> twoSum(vector<int>& numbers, int target)
{
vector<int> res;
for(int i=0;i<numbers.size();i++)
{
int flag = helper(i+1,numbers.size()-1,target-numbers[i],numbers);
if(flag!=-1)
{
res.push_back(i+1);
res.push_back(flag+1);
break;
}
}
return res;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vector