Leetcode 167. 两数之和 II - 输入有序数组 解题思路及C++实现
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 167. 两数之和 II - 输入有序数组 解题思路及C++实现
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
解題思路:
因?yàn)閿?shù)組本身是有序的,所以比較簡單。定義兩個(gè)指針,分別指向數(shù)組的頭部和尾部。
偏大的話,就將尾部指針向前移一位;
偏小的話,就將頭部指針向后移一位。
?
class Solution { public:vector<int> twoSum(vector<int>& numbers, int target) {//定義兩個(gè)指針 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 {};} };?
?
?
總結(jié)
以上是生活随笔為你收集整理的Leetcode 167. 两数之和 II - 输入有序数组 解题思路及C++实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 88. 合并两个有序数
- 下一篇: Leetcode 189. 旋转数组 解