每日刷题 day13----滑动窗口的最大值

52 阅读1分钟

leetcode传送门

image.png 思路: 双指针间距是size,之后同步走,取出动态数组temp的最大值,push到res中 终止条件 high走到末尾

/**
 * @param {number[]} nums
 * @param {number} k
 * @return {number[]}
 */
var maxSlidingWindow = function(nums, k) {
    let res = []
    if(nums == null || k<1){
        return res
    }
     let low = 0
     let high = low + k - 1
    while(high<nums.length){
        let temp = nums.slice(low,high+1)
        let maxNum = temp.reduce((prev,next)=>{
            return Math.max(prev,next)
        })
        res.push(maxNum)
        low++
        high++

    }
    return res
};