Skip to content

Latest commit

 

History

History
41 lines (33 loc) · 1.59 KB

167.md

File metadata and controls

41 lines (33 loc) · 1.59 KB

✏️Leetcode基础刷题之(167. Two Sum II - Input array is sorted)

2019-03-21 吴亲库里 库里的深夜食堂


✏️描述

看到这个题目有点熟悉,就是Leetcode第一题的两数之和第二版,给定一个按升序排序的整数数组,找到两个数,加起来等于特定的值。

✏️题目实例

✏️题目分析

这边题目让我们需要注意的是返回的答案不是从0开始的,因为是有序的,所以左边的数一定小于右边的数,我们可以设置两个值,一个指向数组的开头一个指向数组的末尾,当两数相加等于给定的值时,返回他们的下标,如果值大于给定的值,说明右边大了,右边向左移动一位,否则,左边向右移动一位。

 /**
     * @param Integer[] $numbers
     * @param Integer $target
     * @return Integer[]
     */
    function twoSum($numbers, $target) {
          $start=0;
          $end=count($numbers)-1;
          while($start<$end) {
            $sum=$numbers[$start]+$numbers[$end];
            if($sum==$target) return [$start+1,$end+1];
            else if($sum>$target) $end--;
            else $start++;
        }
    }

联系