167. Two Sum II

来源:互联网 发布:python 远程ssh 编辑:程序博客网 时间:2024/06/08 04:11

题目

167. Two Sum II - Input array is sorted

解题思路

设一个指针end从最后一个元素遍历起,设一个指针start从第一个元素开始遍历,当numbers[start]+numbers[end] > target说明end太大了,end–,当numbers[start]+numbers[end] < target说明start太小,start++,直到相等

具体代码

class Solution {public:    vector<int> twoSum(vector<int>& numbers, int target) {        int end = numbers.size() - 1;        vector<int> tmp;        for (int i = 0; i < end; i++) {            if (numbers[i] + numbers[end] > target) {                while (numbers[end] + numbers[i] > target)                    --end;            }            if (numbers[i] + numbers[end] == target) {                tmp.push_back(i + 1);                tmp.push_back(end + 1);                break;            }           }        return tmp;    }};
原创粉丝点击