【知识图谱】【算法】-- 双指针类

1. 长度最小的子数组 20210629晚javascript

来源连接:leetCode:209java

肯定快慢指针移动的策略数组

点击查看代码
var minSubArrayLen = function(target, nums) {
    let slow = 0;
    let fast = 0;
    let sum = 0;
    let minLength = 0;
    while(fast < nums.length){// 1. 当快指针滑出数组中止[快指针的运动策略]
        sum += nums[fast];
        if(sum >= target){// 2. 当和大于等于目标值时,进行慢指针的移动[重点][慢指针的运动策略]
            while(sum >= target){
                sum -= nums[slow];
                // 3. 更新最小长度
                minLength = minLength == 0 ? (fast - slow + 1) : Math.min(minLength,(fast-slow+1));
                slow++;
            }
        }
        fast++;
    }
    return minLength;
};
相关文章
相关标签/搜索