滑动窗口 leetcode_滑动窗口最多可以有多少帧

滑动窗口 leetcode_滑动窗口最多可以有多少帧原题链接给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值————— —–[1 3 -1] -3 5 3 6 7

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

原题链接

给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。

返回滑动窗口中的最大值。

示例 1:

输入:nums = [1,3,-1,-3,5,3,6,7], k = 3
输出:[3,3,5,5,6,7]
解释:
滑动窗口的位置                最大值
---------------               -----
[1  3  -1] -3  5  3  6  7       3
 1 [3  -1  -3] 5  3  6  7       3
 1  3 [-1  -3  5] 3  6  7       5
 1  3  -1 [-3  5  3] 6  7       5
 1  3  -1  -3 [5  3  6] 7       6
 1  3  -1  -3  5 [3  6  7]      7
示例 2:

输入:nums = [1], k = 1
输出:[1]
示例 3:

输入:nums = [1,-1], k = 1
输出:[1,-1]
示例 4:

输入:nums = [9,11], k = 2
输出:[11]
示例 5:

输入:nums = [4,-2], k = 2
输出:[4]

提示:

1 <= nums.length <= 105
-104 <= nums[i] <= 104
1 <= k <= nums.length

class Solution { 
   
public:
    vector<int> maxSlidingWindow(vector<int>& nums, int k) { 
   
       deque<int>dq;
       vector<int>res;
       for(int i = 0;i < nums.size();i ++){ 
   
           if(!dq.empty() && i - dq.front() == k)dq.pop_front();
           while(!dq.empty() && nums[dq.back()] <= nums[i])dq.pop_back();
           dq.push_back(i);
           if(i >= k - 1)res.push_back(nums[dq.front()]);
       }
       return res;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169170.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 报错:warning: large integer implicitly truncated to unsigned type [-Woverflow]

    报错:warning: large integer implicitly truncated to unsigned type [-Woverflow]函数声明:voidpri_hex(constBYTE*buf,BYTElen,constchar*pname);按照如下方式调用时,报错。pri_hex(buff,READ_NUM,&quot;buff&quot;);报错内容如标题。其中READ_NUM是一个宏定义。#defineREAD_NUM1024很明显,是调用函数时,输入的参数,超出函数定义的参数的范围。修改为如…

    2022年7月25日
    37
  • 云服务器搭建_免费云服务器

    云服务器搭建_免费云服务器在前一篇的基础上,现在对服务器进行环境搭建,其实就是安装你需要的软件,配置环境变量,然后安装tomcat。环境搭建1、gitbash连接服务器(或者XShell等工具)2、搭建mysql环境

    2022年8月3日
    10
  • pycharmlinux安装教程_怎么在ubuntu安装pycharm

    pycharmlinux安装教程_怎么在ubuntu安装pycharmLinux下PyCharm的安装下载PyCharmProfessionalforLinux下载地址:https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=linux将下载的安装包解压缩$tar-zxvfpycharm-professional-2018.3.3.tar.gz稍等片刻…

    2022年8月25日
    6
  • ajax cors跨域_jquery跨域

    ajax cors跨域_jquery跨域两种跨域方法在Javascript中跨域访问是比较常见的事情就像现在比较流行写单页应用,而单页应用在访问API的时候就会有跨域的问题要解决跨域的问题,其实也并不复杂,有两种方案可以选择Jsonp跨域Jsonp的实现原理就是:创建一个回调函数,然后在远程服务上调用这个函数并且将JSON数据形式作为参数传递,完成回调。CORS(跨域资源共享)跨源资源共享标准通过新增一系列HTTP头…

    2022年8月24日
    7
  • html的网页代码_html字体代码大全

    html的网页代码_html字体代码大全常用HTML代码解释 一、文字1.标题文字&lt;h#&gt;……….&lt;/h#&gt;#=1~6;h1为最大字,h6为最小字 2.字体变化&lt;font&gt;……….&lt;/font&gt;【1】字体大小&lt;fontsize=#&gt;……….&lt;/font&gt;#=1~7;数字愈大字也愈大【2】指定字型&lt;fontface=…

    2022年9月23日
    2
  • 从零开始学习Android开发[通俗易懂]

    从零开始学习Android开发[通俗易懂]1.首先有一点点JAVA的基础知识建议阅读:https://www.runoob.com/java/java-basic-syntax.html讲的比较细,只看到高阶之前即可。2.推荐《第一行代码:Android(第2版)》第一行代码第二版,被Android开发者誉为“Android学习第一书”。全书系统全面、循序渐进地介绍了Android软件开发的必备知识、经验和技巧。…

    2022年6月25日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号