题目
分析
使用双指针法,依次遍历,若不是有序数组可以先排序。
代码
class Solution
{
public:
vector<int> twoSum(vector<int>& numbers, int target)
{
int left = 0, right = numbers.size() -1;
while(left < right)
{
int sum = numbers[left] + numbers[right];
if(sum == target)
{
return {left + 1, right + 1};
}
else if(sum < target)
{
left++;
}
else
{
right--;
}
}
return {-1 , -1};
}
};
执行结果
总结
深化了对双指针的使用。