题目:

class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int i=0;
int j=nums.size()-1;
while(nums[j]>target&&j)j--; //尾部指针先移动到比target小的值。本题要利用数组从小到大排序的特性。
while(i<j){
if(nums[i]+nums[j]==target)return {nums[i],nums[j]}; //如果sum==target,返回
else if(nums[i]+nums[j]>target)j--; //如果sum>target,需要减小,尾部指针前移
else i++; //如果sum<target,需要增大,前端指针后移
}
return {};
}
};
浙公网安备 33010602011771号