LeetCode 167. Two Sum II - Input array is sorted

Terence_FIP属地: 新泽西州
字数 144阅读 485

Two Sum II

题目

这个solution用two pointers从两边往中间找,如果numbers[l] + numbers[r] == target 就返回l r组成的数组,但记住一定要加1, 因为l r是从0开始的index。 如果和比target大,那就是现在的numbers[r]大了,用r--选择向左一位的元素,l同理。循环直至找到最终结果。
我发的题目会有些是有锁的,我会把所有有锁的题目的截图发上来,没有锁的就不一定咯:p

class Solution {

public:

    vectortwoSum(vector& numbers, int target) {

        int l = 0, r = numbers.size() - 1;

        while (l < r) { 

            if (numbers[l] + numbers[r] == target)

                return {l + 1, r + 1};

            else if (numbers[l] + numbers[r] > target)

                r--;  

            else

               l++;

        }

        return {0, 0};

    }

};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
更多精彩内容,就在简书APP
"小礼物走一走,来简书关注我"
还没有人赞赏,支持一下
总资产1共写了4280字获得10个赞共13个粉丝

推荐阅读更多精彩内容