【leetcode】167. Two Sum II - Input Array Is Sorted
作者:互联网
Given a 1-indexed array of integers numbers
that is already sorted in non-decreasing order, find two numbers such that they add up to a specific target
number. Let these two numbers be numbers[index1]
and numbers[index2]
where 1 <= index1 < index2 <= numbers.length
. Return the indices of the two numbers, index1
and index2
, added by one as an integer array [index1, index2]
of length 2. The tests are generated such that there is exactly one solution. You may not use the same element twice.
class Solution { public: vector<int> twoSum(vector<int>& numbers, int target) { int len=numbers.size(); vector<int> res; bool flag=false; //排序数组 压缩搜索路劲 int left=0,right=len-1; while(left<right) { if(numbers[left]+numbers[right]>target) { right--; //continue; } else if(numbers[left]+numbers[right]<target) { left++; //continue; } else { flag=true; break; } } if(flag) { res={left+1,right+1}; } return res; } };
标签:right,int,Sum,Two,two,II,numbers,index2,index1 来源: https://www.cnblogs.com/aalan/p/15579368.html