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

167. Two Sum II - Input array is

作者: jluemmmm | 来源:发表于2021-08-16 13:54 被阅读0次

给定一个已按照升序排列的整数数组 nums,请你从数组中找出两个数满足相加之和等于目标数组 target。假设每个输入只对应唯一的答案,不可以重复使用相同的元素。

函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers的下标从 1 开始计数,所以答案数组应当满足 1 <= answer[0] <= answer[1] <= numbers.length.

  • 时间复杂度O(N),空间复杂度O(1)
  • Runtime: 72 ms, faster than 81.35%
  • Memory Usage: 39.2 MB, less than 69.65%
/**
 * @param {number[]} numbers
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function(numbers, target) {
  let low = 0;
  let high = numbers.length - 1;
  while (low < high) {
    let sum = numbers[low] + numbers[high];
    if (sum === target) {
      return [low + 1, high + 1];
    } else if (sum < target) {
      low++;
    } else {
      high--;
    }
  }
  return [-1, -1];
};

相关文章

网友评论

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

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