其他分享
首页 > 其他分享> > 【leetcode】167. Two Sum II - Input Array Is Sorted

【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