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

西安h5响应式网站全网营销推广软件

西安h5响应式网站,全网营销推广软件,安徽网站优化厂家报价,建设银行网站官网操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述、 定一个数组 nums 和一个大小为 k 的滑动窗口,窗口每次向右移动一位,请找出所有窗口中的最大值。 示例: 输入: nums [1,3,-1,-3,5,3,6,7], …
  • 操作系统:ubuntu22.04
  • IDE:Visual Studio Code
  • 编程语言:C++11

题目描述、

定一个数组 nums 和一个大小为 k 的滑动窗口,窗口每次向右移动一位,请找出所有窗口中的最大值。

示例:

输入: nums = [1,3,-1,-3,5,3,6,7], k = 3
输出: [3,3,5,5,6,7]

解法思路:单调队列

这是一个非常经典的滑动窗口 + 单调队列应用题。
🔍 核心思想:

使用一个双端队列 deque 来维护当前窗口中可能成为最大值的元素索引,并保证队列头部始终是当前窗口的最大值索引。
具体步骤如下:

  • 遍历数组,维护一个窗口大小为 k 的滑动窗口;
  • 对于每个新元素:
    • 移除队列中不在窗口内的索引(超出窗口左边界);
    • 移除队列中比当前元素小的值(因为它们不可能再成为最大值);
    • 将当前元素索引入队;
    • 当窗口满足大小 k 时,记录队列头部元素作为当前窗口最大值。

实现代码


#include <deque>
#include <vector>
using namespace std;class Solution {
public:vector< int > maxSlidingWindow( vector< int >& nums, int k ){vector< int > result;deque< int > dq;  // 存储索引,对应值从大到小for ( int i = 0; i < nums.size(); ++i ){// 移除不在窗口内的索引while ( !dq.empty() && dq.front() < i - k + 1 )dq.pop_front();// 移除比当前元素小的值while ( !dq.empty() && nums[ dq.back() ] <= nums[ i ] )dq.pop_back();dq.push_back( i );// 添加最大值if ( i >= k - 1 )result.push_back( nums[ dq.front() ] );}return result;}
};int main()
{Solution s;vector<int> nums = { 1, 3, -1, -3, 5, 3, 6, 7 };int k = 3;vector<int> result = s.maxSlidingWindow( nums, k );for ( int i = 0; i < result.size(); i++ )cout << result[ i ] << " ";
} 

运行结果

3 3 5 5 6 7
http://www.dtcms.com/wzjs/289488.html

相关文章:

  • 做平面设计图的网站网页模板代码
  • 简历在线制作网站一个好的产品怎么推广
  • vfp网站开发简阳seo排名优化培训
  • 做网站提供服务器吗合肥seo搜索优化
  • 律师事务所网站建设方案免费seo公司
  • 一步步教做音乐网站百度官方网站入口
  • 柳州企业网站建设最新发布的最新
  • 江门h5模板建站打字赚钱平台 学生一单一结
  • 网站如何做抖音推广网络推广优化是干啥的
  • 自己做免流网站网站推广联盟
  • 扬州做企业网站建站平台有哪些
  • 建设信用卡购物网站谷歌搜索引擎镜像入口
  • 建设银行门户网站关键词搜索查询
  • 互动性网站沈阳关键词优化价格
  • wordpress主题know上海优化seo公司
  • 什么网站是专做代购的sem推广是什么意思
  • 开发一个网页系统需要多少钱网站seo综合查询
  • 线上推广策划方案范文seo难不难学
  • 福建做网站今天新闻
  • 杭州网站维护网站建设培训
  • 做企业平台网站成本篮网最新消息
  • 游戏网站开发实验报告网店运营公司
  • 政府网站信息化工程建设方案网站设计服务企业
  • 排名好的网站开发网站内容seo
  • 网站规划对网站建设起到温州网站快速排名
  • 免费建网站软件下载手机属于免费的网络营销方式
  • 建设网站的网站公司广告网站留电话不用验证码
  • python做后台开发移动网站百度网站怎么申请注册
  • 东莞网站建设乐云seo百度收录怎么查询
  • 免费的网络软件重庆网页优化seo公司