# 239. 滑动窗口最大值
# 解题思路
最粗暴的方式就是遍历数组:
- 首先判断数组长度是否小于等于滑动窗口大小,如果小于,则直接返回数组中的最大值;
 - 否则,遍历数组,每次取滑动窗口大小,并判断当前值是否大于最大值,如果大于,则更新最大值;
 - 每次遍历数组时,将最大值记录在数组中;
 
var maxSlidingWindow = function (nums, k) {
  var len = nums.length
  var result = []
  var maxVlaue = -Infinity
  if (len <= k) {
    while (len--) {
      if (nums[len] > maxVlaue) {
        maxVlaue = nums[len]
      }
    }
    return [maxVlaue]
  }
  for (var i = 0; i <= len - k; i++) {
    let nums2 = nums.slice(i, i + k)
    let len2 = nums2.length
    maxVlaue = -Infinity
    while (len2--) {
      if (nums2[len2] > maxVlaue) {
        maxVlaue = nums2[len2]
      }
    }
    result.push(maxVlaue)
  }
  return result
}
更进一步可以使用优先队列,且还能进一步优化,具体解法见官方题解 (opens new window)。