当前位置: 首页 > news >正文

网站备案查询怎么查销售平台

网站备案查询怎么查,销售平台,企业网站建设好的案例,做钢材生意一般做什么网站好题目如下 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 进阶:你能在线性时间复杂度内解决此题吗? 示例…

题目如下

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

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

进阶:你能在线性时间复杂度内解决此题吗?

示例:
输入: 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       31 [3  -1  -3] 5  3  6  7       31  3 [-1  -3  5] 3  6  7       51  3  -1 [-3  5  3] 6  7       51  3  -1  -3 [5  3  6] 7       61  3  -1  -3  5 [3  6  7]      7

解题思路

我们可以采用队列,DP,堆等方式进行求解,所有思路的主要源头应该都是在窗口滑动的过程中,如何更快的完成查找最大值的过程。但是最典型的解法还是使用双端队列。具体怎么来求解,一起看一下。

首先,我们了解一下,什么是双端队列:是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出或者插入。
在这里插入图片描述
我们可以利用双端队列来实现一个窗口,目的是让该窗口可以做到张弛有度(汉语博大精深,也就是长度动态变化。其实用游标或者其他解法的目的都是一样的,就是去维护一个可变长的窗口)

然后我们再做一件事,只要遍历该数组,同时在双端队列的头去维护当前窗口的最大值(在遍历过程中,发现当前元素比队列中的元素大,就将原来队列中的元素删除出队),在整个遍历的过程中我们再记录下每一个窗口的最大值到结果数组中。最终结果数组就是我们想要的,整体图解如下。

假设 nums = [1,3,-1,-3,5,3,6,7],和 k = 3
在这里插入图片描述

解题代码

#include <iostream>
#include <vector>
#include <deque>
using namespace std;vector<int> maxInWindows(const vector<int>& num, unsigned int size) 
{vector<int> result;if (num.size() >= size && size >= 1) {deque<int> numDeque;//首先把前size个数按照规则压入双向队列for (int i = 0; i != size; i++) {while (!numDeque.empty() && num[i] >= num[numDeque.back()]) {numDeque.pop_back();}numDeque.push_back(i);}//压入第一个最大值//滑动窗口的最大值总是位于双向队列的头部result.push_back(num[numDeque.front()]);for (int i = size; i != num.size(); i++) {//首先按照规则压入新的值while (!numDeque.empty() && num[i] >= num[numDeque.back()]){numDeque.pop_back();}//并且删除旧值,即滑出了窗口的值if (!numDeque.empty() && numDeque.front() <= static_cast<int>(i - size)) {numDeque.pop_front();//出队}numDeque.push_back(i);result.push_back(num[numDeque.front()]);}}return result;
}int main()
{vector<int> data{ 2,3,4,2,6,2,5,1 };vector<int> result = maxInWindows(data, 3);for (auto a : result){cout << a << " ";}cout << endl;return 0;
}

在这里插入图片描述

http://www.lbrq.cn/news/2455489.html

相关文章:

  • 做接口自动化是网站登录加密莆田百度快照优化
  • 资深的金融行业网站开发东莞疫情最新消息今天
  • 山西大同网站建设价格app接入广告变现
  • 自适应网站模板怎么做信息流优化师没经验可以做吗
  • 门户网站信息发布管理办法乐云seo官网
  • 国内企业网站设计公司外贸网络推广营销
  • 企业的网站用vue做的网络营销做得好的品牌
  • 西安wordpress网站seo收录工具
  • 做影视网站对宽带要求站长查询域名
  • 深圳集团网站建设seo个人博客
  • 网上怎样做电缆网站9 1短视频安装
  • 高端品牌网站设计企业网站建设百度免费推广怎么操作
  • 医院网站建设的目的营销渠道策划方案
  • 怎么将自己做的网站放到网上网优工程师前景和待遇
  • 做我女朋友网站安卓嗅探app视频真实地址
  • dede可以做购物网站吗股票指数是什么意思
  • 手机网站 jsp苏州网站外包
  • 怎样在商务部网站做备案衡阳seo快速排名
  • 中山 网站建设一条龙服务seo快速建站
  • php网站进后台长尾关键词有哪些
  • 广西金水建设开发有限公司网站线上销售渠道有哪几种
  • 企业电子商务网站建设教案怎么制作网站
  • 抚顺网站建设7113推广软文范文
  • 泰州网站制作seo排名是什么意思
  • 房地产开发公司招聘兰州网站seo优化
  • 没有外网ip怎么做网站西安网站公司推广
  • 廊坊网络推广建站市场调研报告ppt
  • 建设工程指数网站电视剧百度搜索风云榜
  • 没有网站怎么做cpa怎样注册网站
  • 福建网站建设公司湖南网站seo营销
  • 在python3.8和pytorch1.8.1的基础上安装tensorflow
  • 2025年02月11日 Go生态洞察:Go 1.24 发布亮点全面剖析
  • 告别静态文档!Oracle交互式技术架构图让数据库学习“活“起来
  • 使用Claude Code从零到一打造一个现代化的GitHub Star项目管理器
  • 处理URL请求参数:精通`@PathVariable`、`@RequestParam`与`@MatrixVariable`
  • PAT 甲级题目讲解:1003《Emergency》