题目
给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。滑动窗口每次只向右移动一位,你只可以看到在滑动窗口内的k个数字,请返回滑动窗口中的最大值。
示例:
输入:nums = [1, 3, -1, -3, 5, 3, 6, 7], k = 3
输出:[3, 3, 5, 5, 6, 7]
解析
这道题使用暴力求解法比较简单,具体来说,每次窗口移动时,都重新遍历窗口内的所有元素来找到最大值。这种方法虽然直观,但效率较低,尤其是在数组较大且窗口较大的情况下。
#include <iostream>
#include <vector>
using namespace std;
vector<int> GetMaxSlidingWindow(vector<int>& vctNumber, int nWindow)
{
vector<int> vctResult;
for (int i = 0; i <= (int)vctNumber.size() - nWindow; ++i)
{
int nMax = vctNumber[i];
for (int j = i + 1; j < i + nW