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

题目:

题解:

cpp 复制代码
class Solution {
public:
    vector<int> maxSlidingWindow(vector<int>& nums, int k) {
        int n = nums.size();
        vector<int> prefixMax(n), suffixMax(n);
        for (int i = 0; i < n; ++i) {
            if (i % k == 0) {
                prefixMax[i] = nums[i];
            }
            else {
                prefixMax[i] = max(prefixMax[i - 1], nums[i]);
            }
        }
        for (int 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]);
            }
        }

        vector<int> ans;
        for (int i = 0; i <= n - k; ++i) {
            ans.push_back(max(suffixMax[i], prefixMax[i + k - 1]));
        }
        return ans;
    }
};
相关推荐
这是我5819 分钟前
C++掉血迷宫
c++·游戏·visual studio·陷阱·迷宫·生命·
学习使我变快乐23 分钟前
C++:初始化列表
开发语言·c++·算法
DXCcn27 分钟前
[语言月赛 202408] 两座城市的 543 千米
c++
破刺不会编程29 分钟前
【C++】透析string类
c语言·开发语言·数据结构·c++
wxin_VXbishe43 分钟前
springboot瑜伽课约课小程序-计算机毕业设计源码87936
java·c++·spring boot·python·spring·servlet·php
Jcqsunny43 分钟前
[atcoder agc 004 c] AND Grid
c++·算法·构造
suiyi_freely1 小时前
c++二叉搜索树
开发语言·c++
管家罢了2 小时前
C++模版初阶
开发语言·c++
啊QQQQQ3 小时前
C++11(3)
java·开发语言·c++
戊子仲秋3 小时前
【LeetCode】每日一题 2024_9_13 预算内的最多机器人数目(滑动窗口、单调队列)
算法·leetcode