Golang | Leetcode Golang题解之第239题滑动窗口最大值

题目:

题解:

func maxSlidingWindow(nums []int, k int) []int {
    n := len(nums)
    prefixMax := make([]int, n)
    suffixMax := make([]int, n)
    for i, v := range nums {
        if i%k == 0 {
            prefixMax[i] = v
        } else {
            prefixMax[i] = max(prefixMax[i-1], v)
        }
    }
    for i := n - 1; i >= 0; i-- {
        if i == n-1 || (i+1)%k == 0 {
            suffixMax[i] = nums[i]
        } else {
            suffixMax[i] = max(suffixMax[i+1], nums[i])
        }
    }

    ans := make([]int, n-k+1)
    for i := range ans {
        ans[i] = max(suffixMax[i], prefixMax[i+k-1])
    }
    return ans
}

func max(a, b int) int {
    if a > b {
        return a
    }
    return b
}

相关推荐

  1. LeetCode-热100:239. 滑动窗口

    2024-07-17 07:08:01       35 阅读
  2. 【Leetcode】239. 滑动窗口

    2024-07-17 07:08:01       58 阅读
  3. 【LeetCode】239. 滑动窗口

    2024-07-17 07:08:01       51 阅读
  4. Leetcode 239 滑动窗口

    2024-07-17 07:08:01       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 07:08:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 07:08:01       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 07:08:01       58 阅读
  4. Python语言-面向对象

    2024-07-17 07:08:01       69 阅读

热门阅读

  1. Emacs: 可扩展的编辑器之神

    2024-07-17 07:08:01       27 阅读
  2. 如何在VSCode中配置Python环境

    2024-07-17 07:08:01       27 阅读
  3. 计算机视觉和自然语言处理:OCR 模型

    2024-07-17 07:08:01       25 阅读
  4. 【Memcached】一文详解 Memcached

    2024-07-17 07:08:01       24 阅读
  5. std::env是什么库?|Python一对一教学答疑

    2024-07-17 07:08:01       19 阅读
  6. ubuntu系统Docker常用命令

    2024-07-17 07:08:01       22 阅读
  7. Web前端-Web开发HTML基础2-list

    2024-07-17 07:08:01       25 阅读