167. Two Sum II - Input array is sorted(重)

这道题需要一个思路上的转变。。。嗯。。。也没太多好说的,注意可能有负数,多想几种极端情况吧,好好看看人家的思路。

我的解法

过不了最后一个数据,{0000000.....23....99999999}5,也过不了其它很多情况。

class Solution {
public:
    vector twoSum(vector& numbers, int target) {
        vector output;
        for (int m = 0; m < numbers.size(); m ++)
            for (int n = m + 1 ; n < numbers.size(); n ++)
                if (numbers[m] + numbers[n] == target){
                    output.push_back(m + 1);
                    output.push_back(n + 1);
                }
        return output;
    }
};

人家的解法

class Solution {
public:
    vector twoSum(vector& numbers, int target) {
    int lo=0, hi=numbers.size()-1;
    while (numbers[lo]+numbers[hi]!=target){
        if (numbers[lo]+numbers[hi]({lo+1,hi+1});
}
};

你可能感兴趣的:(167. Two Sum II - Input array is sorted(重))