滑动窗口最大值(力扣239)

解题思路:首先是用暴力循环来解,其次便是用队列来模拟这个滑动窗口,同时要自定义三个函数,一个pop用来弹出来保证滑动窗口的移动,同时我们把最大的放在队列口那里,当每次有更大的就把原来的挤出栈外,一个push用来把前面不够大的元素排挤出队列并且把最大的那个数压入队列,还有一个find来找到最大的元素

代码实现如下:

class Solution {

private:

class MyQueue{

public:

    deque<int>a;

void pop(int val){

    if(!a.empty()&&val==a.front()){

        a.pop_front();

    }

}

void push(int val){

    while(!a.empty()&&a.back()<val){

        a.pop_back();

    }a.push_back(val);

}

int findBest(){

    return a.front();

}    

};

public:

    vector<int> maxSlidingWindow(vector<int>& nums, int k) {

    MyQueue b;vector<int>result;

    for(int i=0;i<k;i++){

        b.push(nums[i]);

    }

    result.push_back(b.findBest());

   for(int i=k;i<nums.size();i++){

       b.pop(nums[i-k]);

       b.push(nums[i]);

       result.push_back(b.findBest());

   }return result;

    }

};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/817590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Newspaper Premium高级主题:新闻网站的最佳选择,快速、SEO优化与丰富功能

Newspaper Premium高级主题&#xff0c;作为WordPress平台上最畅销且时尚的新闻主题&#xff0c;以其卓越的性能和丰富的功能&#xff0c;深受新闻网站创作者的青睐。无论是新闻中心还是其他利基市场&#xff0c;这款主题都能完美应对&#xff0c;助力您快速搭建起一个引人注目…

openstack安装dashboard后登录网页显示404错误

1. 2.进入该目录vim /etc/httpd/conf.d/openstack-dashboard.conf 增加这一行 WSGIApplicationGroup %{GLOBAL} 重启httpd后就可以访问了

如何在Windows使用固定公网地址SSH远程访问本地Archcraft系统

文章目录 1. 本地SSH连接测试2. Archcraft安装Cpolar3. 配置 SSH公网地址4. 公网远程SSH连接小结 5. 固定SSH公网地址6. SSH固定地址连接 Archcraft是一个基于Arch Linux的Linux发行版&#xff0c;它使用最简主义的窗口管理器而不是功能齐全的桌面环境来提供图形化用户界面。 C…

推荐两款HTTP请求Mock利器

1、背景 在日常测试过程中或者研发开发过程中&#xff0c;目前接口暂时没有开发完成&#xff0c;测试人员又要提前介入接口测试中&#xff0c;测试人员不仅仅只是简单的编写测试用例&#xff0c;也可以通过一些mock的方法进行来提前根据接口测试的情况进行模拟返回接口的信息&…

赚钱游戏 2.0.1 版 (资源免费)

没有c编辑器的可以直接获取资源来玩 #include <iostream> #include <string> #include <windows.h> #include <conio.h> #include <fstream> #include <ctime> #include <time.h> #include <stdio.h> #include <cstring&g…

redis如何实现故障转移

Redis可以通过以下几种方式实现故障转移&#xff1a; Redis Sentinel&#xff1a;Redis Sentinel是一种自动故障转移解决方案&#xff0c;它由三个组件组成&#xff1a;一个主服务器、一个或多个从服务器和一个监控代理。监控代理负责监控主服务器&#xff0c;并在主服务器出现…

2024年认证杯数学建模C题思路+模型+代码

C题 云中的海盐 巴黎气候协定提出的目标是&#xff1a;在 2100 年前&#xff0c;把全球平均气温相对于工业 革命以前的气温升幅控制在不超过 2 摄氏度的水平&#xff0c;并为 1.5 摄氏度而努力。 但事实上&#xff0c;许多之前的研究已经指出&#xff0c;全球的碳排放以及…

微信小程序支付Java工具类

准备工作 微信支付开发前&#xff0c;需要先获取商家信息&#xff0c;包括商户号、AppId、证书和密钥&#xff1a; 获取商户号&#xff1a;微信商户平台 申请成为商户 > 提交资料 > 签署协议 > 获取商户号&#xff1b;获取AppID&#xff1a;微信公众平台 注册服务号…

使用SpeechRecognition和vosk处理ASR

SpeechRecognition可以支持多种模型语音转文字&#xff0c;感觉vosk还不错&#xff0c;使用起来也简单一些&#xff1b;百度也有PaddleSpeech&#xff0c;但是安装起来太麻烦&#xff0c;不是这个库版本不对就是那个库有问题&#xff0c;用起来不方便&#xff1b; 安装SpeechR…

【Git教程】(十)版本库之间的依赖 —— 项目与子模块之间的依赖、与子树之间的依赖 ~

Git教程 版本库之间的依赖 1️⃣ 与子模块之间的依赖2️⃣ 与子树之间的依赖&#x1f33e; 总结 在 Git 中&#xff0c;版本库是发行单位&#xff0c;代表的是一个版本&#xff0c;而分支或标签则只能被创建在版本库这个整体中。如果一个项目中包含了若干个子项目&#xff0c;…

12.文件浏览器

子程序参数的使用 1.可空的用法&#xff1b;表示这个参数不写也行。 2.如何使用递归 3.需要注意的事 递归的子程序必须有个退出的条件 注意区分递归和循环&#xff0c;不要混用 流程&#xff1a; 1.插入按钮&#xff0c;输入输出调试文本&#xff08;“按钮被单击”&…

2024年主流的java混淆工具有哪些

2024年&#xff0c;主流的Java混淆工具可能会包括&#xff1a; ProGuard&#xff1a;ProGuard 是一个免费的开源 Java 混淆工具&#xff0c;可用于压缩、优化和混淆 Java 字节码。它是Android开发者的首选混淆工具之一&#xff0c;并且在Java应用程序中也得到了广泛应用。 Dex…

Windows本地部署Ollama+qwen本地大语言模型Web交互界面并实现公网访问

文章目录 前言1. 运行Ollama2. 安装Open WebUI2.1 在Windows系统安装Docker2.2 使用Docker部署Open WebUI 3. 安装内网穿透工具4. 创建固定公网地址 前言 本文主要介绍如何在Windows系统快速部署Ollama开源大语言模型运行工具&#xff0c;并安装Open WebUI结合cpolar内网穿透软…

OpenCV4.9图像金字塔

目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数 pyrUp()和 pyrDown()对给定图像进行下采样或上采样。 理论 注意 下面的解释属于 Bradski 和 Kaehler 的 Learning OpenCV 一书。 通常&#xff0c;我们需要将图像转换为与原始图像不同的大小。为此…

Linux 1.文件编程(dup、dup2)

重定向 重定向是什么&#xff1f;dupdup2 重定向是什么&#xff1f; 进程在最开始运行的时候&#xff0c;首先打开了三个文件&#xff0c;分别是标准输入流、标准输出流、标准错误输出流。证明的时候我是把标准输出留给关闭了&#xff0c;然后紧接着创建的文件就会占用已关闭的…

JavaScript-2.对话框、函数、数组、Date、DOM

对话框 window对象封装了三个对话框用于与用户交互 提示框&#xff1a;alert(title);确认框&#xff1a;confirm(title);输入框&#xff1a;prompt(title); 确认框 包含两个按钮“确认”/“取消”&#xff0c;点击确定时&#xff0c;返回值为true // 确认框 var bool con…

Linux系统编程---文件系统

一、文件存储 一个文件主要由两部分组成&#xff0c;dentry(目录项)和inode inode本质是结构体&#xff0c;存储文件的属性信息&#xff0c;如&#xff1a;权限、类型、大小、时间、用户、盘块位置… 也叫做文件属性管理结构&#xff0c;大多数的inode都存储在磁盘上。 少量…

XWX-SX三箱社交箱

简单介绍&#xff1a; 动物行为学是一门研究动物行为的科学&#xff0c;它包括观察动物在自然环境中的行为&#xff0c;以及在控制环境中的实验行为。三箱社交实验是其中一种常见的实验方法&#xff0c;用于评估动物的社交行为和决策制定能力。这种实验在许多领域都有应用&…

bugku-web-需要管理员

页面源码 <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <title>404 Not Found</title> </head> <body> <div idmain><i> <h2>Something error:</h2…

Array.prototype.fill()

在 JavaScript 中&#xff0c;Array.prototype.fill() 是一个用于填充数组的方法。这个方法将指定的值填充到从起始索引到结束索引&#xff08;不包括结束索引&#xff09;的数组中的每个元素。如果省略结束索引&#xff0c;那么它将填充整个数组。 下面是 fill() 方法的基本语…