自学内容网 自学内容网

力扣 167.两数之和||—输入为有序数组

文章目录

题目介绍

在这里插入图片描述在这里插入图片描述在这里插入图片描述

解法

利用相向双指针,初始时l在最用左边,r在最右边
1.numbers[l] + numbers[r] < target 则 l++
2.numbers[l] + numbers[r] < target 则 r++
3.numbers[l] + numbers[r] == target 说明找到了答案

class Solution {
    public int[] twoSum(int[] numbers, int target) {
        int l = 0, r = numbers.length -1;
        while(l < r){
            if(numbers[l] + numbers[r] == target){
                break;
            }else if(numbers[l] + numbers[r] < target){
                l++;
            }else{
                r--;
            }
        }
        return new int[]{l + 1,r + 1};
    }
}

原文地址:https://blog.csdn.net/qq_51352130/article/details/142282147

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!