美文网首页
LeetCode 167. Two Sum II - Input

LeetCode 167. Two Sum II - Input

作者: Terence_F | 来源:发表于2016-07-11 11:24 被阅读282次

    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};
    
        }
    
    };
    

    相关文章

      网友评论

          本文标题:LeetCode 167. Two Sum II - Input

          本文链接:https://www.haomeiwen.com/subject/ylfjjttx.html