给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。
//经常用到的一个思维就是:双指针,一个从前面指起,一个从后面指起
class Solution {
public:
vector<int> twoSum(vector<int>& numbers, int target) {
vector<int> res;
int i=0;
int j=numbers.size()-1;
while(i<j)
{
if(numbers[i]+numbers[j]<target)
i++;
else if(numbers[i]+numbers[j]>target)
j--;
else
{
res.push_back(i+1);
res.push_back(j+1);
return res;
}
}
}
};