刷题自用0518
代码
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int left=0;
int n=nums.size();
int right=n-1;
vector <int> res;
while(left<right){
if(nums[left]+nums[right]>target){
right--;
}
else if(nums[left]+nums[right]<target){
left++;
}
else{
res.push_back(nums[left]);
res.push_back(nums[right]);
break;
}
}
return res;
}
};
思路
双指针,因为是递增序列,根据left和right的值判断left++还是right–
找到合适的值后立刻break