专栏首页AI那点小事剑指offer——滑动窗口的最大值

剑指offer——滑动窗口的最大值

概述

题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,3,4,2,6,[2,5,1]}。


C++ AC代码

#include <iostream>
#include <vector>
using namespace std;

class Solution {
    public:
        vector<int> maxInWindows(const vector<int>& num, unsigned int size){
            vector<int> ans;
            if(num.empty() || size < 1 || num.size() < size){
                return ans;
            }
            for(int i = 0 ; i <= num.size()-size ; i++){
                int max = num[i];
                for(int j = i+1 ; j < i+size ; j++){
                    if(num[j] > max){
                        max = num[j];
                    }
                }
                ans.push_back(max);
            }
            return ans;
        }
};

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 算法训练 区间k大数查询

    接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。

    AI那点小事
  • 1035. 插入与归并(25)

    插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。

    AI那点小事
  • 1065. 单身狗(25)

    “单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。

    AI那点小事
  • 枚举+优化(4)——哈希表优化实例2

    mathor
  • 百练-2456-Aggressive cows

    ACM模版 描述 ? 题解 二分 + 贪心。水题。 代码 #include <iostream> #include <cstdio> #include <alg...

    f_zyj
  • 1042 字符统计 (20 分)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    韩旭051
  • 归并排序

    #include<stdio.h> void MergeArray(int first,int mid,int last,int a[]) { int...

    用户1624346
  • BZOJ2882: 工艺(后缀数组)

    attack
  • 最大子段和

    最大子段和:给出一个数组,计算其中连续的最大的子段和 运行代码,及运行思想: /** * 动态规划:计算最大子段和 * 算法描述: * 数组a 有n个元素...

    用户1154259
  • POJ 3259 Wormholes(spfa判负环)

           题意是有n个点,m条边,k个虫洞(权值为负),输入完m条无向边后输入k条有向边,问能不能找到一个点,从这个点出发,最后回到这个点的时候权值是负的(...

    Ch_Zaqdt

扫码关注云+社区

领取腾讯云代金券