持续更新一些经典算法题,收编中!!!
1.【数组】滑动窗口的最大值
/*
描述:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。
返回滑动窗口中的最大值。
示例:
输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3
输出: [3,3,5,5,6,7]
*/
function getWinMaxValue(nums,k){
var len = nums.length;
var i = k;
var res = [];
for(;i<=len;i++){
var tmp = nums.slice(i-k,i);
var max = Math.max.apply(null,tmp);
res.push(max);
}
return res;
}
var nums = [1,3,-1,-3,5,3,6,7];
var k = 3;
console.log(getWinMaxValue(nums,k))