167. Two Sum II - Input array is sorted

原题

  • 题目描述:在有序数组中返回数组值相加为目标值的两个下标
  • 思路:一左一右的值相加和目标值大小作比较,然后根据结果,缩小左右位置,直到相等
class Solution {
    public int[] twoSum(int[] numbers, int target) {
        int l=0;
        int r=numbers.length-1;

        while(l<r){
            if(numbers[l]+numbers[r]==target){
                int[] res=new int[2];
                res[0]=l+1;
                res[1]=r+1;
                return res;
            }else if(numbers[l]+numbers[r]<target){
                l++;
            }else{
                r--;
            }
        }
        return new int[0];
    }
}
发布了80 篇原创文章 · 获赞 35 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章