美文网首页
对撞指针

对撞指针

作者: 愿你我皆是黑马 | 来源:发表于2021-07-26 23:54 被阅读0次

对撞指针:有两个指针,一个从开头,一个从结尾,两个指针分别++,--直到碰撞。

  • eedcode 167:给定一个从小到大有序的数组,从数组里找到两个数字可以等于target,并返回索引
    解:两个指针,分别从两边去找,相加>target,右边指针--前移,如果<target,左边指针++前移,一直到这两个指针碰撞,如果找到结果可以返回相应的索引。
var twoSum = function(nums, target) {
    var left = 0;
    var right = nums.length - 1 ;
    // 对撞的循环条件:左边指针小于右边指针
    while(left < right ) {
        if(nums[left] + nums[right] === target) {
            return [left, right]
        } else if(nums[left] + nums[right] > target ) {
            right--;
        } else {
            left++;
        }
    } 
};

相关文章

网友评论

      本文标题:对撞指针

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