Leetcode 167. 两数之和 II - 输入有序数组 解题思路及C++实现
生活随笔
收集整理的这篇文章主要介绍了
Leetcode 167. 两数之和 II - 输入有序数组 解题思路及C++实现
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
解题思路:
因为数组本身是有序的,所以比较简单。定义两个指针,分别指向数组的头部和尾部。
偏大的话,就将尾部指针向前移一位;
偏小的话,就将头部指针向后移一位。
class Solution { public:vector<int> twoSum(vector<int>& numbers, int target) {//定义两个指针 i,j,分别指向头部和尾部int i = 0;int j = numbers.size() - 1;vector<int> res;while(i < j){if(numbers[i] + numbers[j] == target){res.push_back(i+1);res.push_back(j+1);return res;}else if(numbers[i] + numbers[j] > target) //偏大j--;else i++; //偏小了}return {};} };
总结
以上是生活随笔为你收集整理的Leetcode 167. 两数之和 II - 输入有序数组 解题思路及C++实现的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Leetcode 88. 合并两个有序数
- 下一篇: Leetcode 189. 旋转数组 解