您的位置:首页 > 其它

167. Two Sum II - Input array is sorted

2017-12-16 09:32 375 查看




vector<int> twoSum(vector<int>& numbers, int target) {
for(int i=0;i<numbers.size();i++){
int t=target-numbers[i],left=i+1,right=numbers.size()-1;
while(left<=right){
int mid=(right+left)/2;
if(numbers[mid]==t)
return{i+1,mid+1};
else if(numbers[mid]>t)
right=mid;
else left=mid+1;
}
}
return{};
}


超时了!!!

vector<int> twoSum(vector<int>& numbers, int target) {
int left=0,right=numbers.size()-1;
while(left<=right){
if(numbers[left]+numbers[right]==target)
return{left+1,right+1};
else if(numbers[left]+numbers[right]>target)
right--;
else
left++;
}
return{};
}


OK!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: