题解 | #和为S的两个数字#
和为S的两个数字
http://www.nowcoder.com/practice/390da4f7a00f44bea7c2f3d19491311b
public:
vector<int> FindNumbersWithSum(vector<int> array,int sum) {
//使用双指针算法
int left,right;
int i,j,k;
vector<int> result;
left=0;
right=array.size()-1;
//如果数组为空
if(array.size()==0){
return result;
}
while(array[left]+array[right]!=sum&&left!=right){
if(array[left]+array[right]<sum){
left+=1;
}
else if(array[left]+array[right]>sum){
right-=1;
}
}
//如果数对不存在
if(left==right){
return result;
}
//存在
result.push_back(array[left]);
result.push_back(array[right]);
return result;
}
};