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

东莞网络建站专业搜索引擎seo服务

东莞网络建站,专业搜索引擎seo服务,考试网站模版,网站企业备案需要哪些链接: 剑指 Offer 59 - I. 滑动窗口的最大值 题意: 一个lg长度的数组,一个长度k的滑动窗口,求所有滑动窗口中的最大值 解: 优先队列存储存储下标,数字大的优先,每次判断最大的值是否在范围…

链接:

剑指 Offer 59 - I. 滑动窗口的最大值

题意:

一个lg长度的数组,一个长度k的滑动窗口,求所有滑动窗口中的最大值

解:

优先队列存储存储下标,数字大的优先,每次判断最大的值是否在范围内即可

进阶思想:双端队列

思想核心:当l<r 且 nums[l]<nums[r]的情况下使用nums[r]替换nums[l]

队列存储下标,由于正序遍历,每次加入双端队列的数字一定大于队列内的数,假设我们用front端存储目前最大数字下标,那么应该从back端开始比较,移除所有nums[old]<nums[now],再加入自身now

剩下的数值从front到back依照nums[f]>nums[b] 且 f<b,这时候判断front的下标是否符合范围即可

例如存在(index,nums[index])1,10 2,3 那么3,9就可以替换2,3 变成 1,10 3,9;当1的下标不在范围内了就抛弃1,10

实际代码:

#include<bits/stdc++.h>
using namespace std;
struct CMP//比较功能函数类 
{CMP(const vector<int>& r):ref(r) {};bool operator() (const int& lhs,const int& rhs){return ref[lhs]<ref[rhs];}const vector<int>& ref;
};
vector<int> maxSlidingWindow(vector<int>& nums, int k)
{vector<int>ans;int lg=nums.size();if(!lg) return ans;//priority_queue<int,vector<int>,CMP>p_q(static_cast<CMP>(nums));priority_queue<int,vector<int>,CMP>p_q((CMP(nums)));for(int i=0;i<lg;i++){p_q.push(i);if(i>=k-1) {while(p_q.top()<(i-k+1))p_q.pop();ans.push_back(nums[p_q.top()]);}}return ans;
}
int main()
{vector<int> nums;int num;int k;cin>>k;while(cin>>num) nums.push_back(num);vector<int>ans=maxSlidingWindow(nums,k);for(auto &a:ans) cout<<a<<endl;return 0;
}

进阶:

vector<int> maxSlidingWindow(vector<int>& nums, int k)
{vector<int>ans;deque<int>idxs;int lg=nums.size();if(!lg) return ans;for(int i=0;i<lg;i++){while(!idxs.empty() && nums[i]>nums[idxs.back()])idxs.pop_back();idxs.push_back(i);if(i>=k-1){while(!idxs.empty() && idxs.front()<i-k+1) idxs.pop_front();ans.push_back(nums[idxs.front()]);}}return ans;
}

限制:

  • 你可以假设 k 总是有效的,在输入数组 不为空 的情况下,1 ≤ k ≤ nums.length
http://www.hrbkazy.com/news/31150.html

相关文章:

  • 福州培训网站建设重庆seo排名方法
  • 网站建设教案百度搜索风云榜排名
  • 做网站赌博代理赚钱吗营销型网站开发公司
  • wordpress 跳转链接成都百度推广排名优化
  • 局域网网站开发软件阿里指数
  • 怎么做下载类的网站网站广告调词平台
  • 南京网站开发南京乐识权威站长素材免费下载
  • 网站显示乱码怎么办聊城优化seo
  • 佛山网站建设价格关键词seo排名优化推荐
  • 网站推广的软件网站服务器查询工具
  • 常熟市住房和城乡建设局网站网站推广优化方式
  • 响应式网站建设公司网络推广项目计划书
  • 手机免费做网站上海优质网站seo有哪些
  • 智慧党建网站开发百度平台商家我的订单查询
  • 科技医疗网站建设上海外包seo
  • 做包装找灵感看什么网站合肥seo关键词排名
  • app推广渠道有哪些南京seo排名优化公司
  • 山东网站建设系统网络营销师资格证报名
  • wordpress页面分享企业网站的优化建议
  • 网站备案号查电话号码百度的网址是什么
  • 网站建设销售提成海口百度seo公司
  • 织梦网站怎么做seo网络营销推广的优势
  • nodejs 如何做网站后端下载优化大师
  • 分析网站建设流程宣传推广的形式有哪些
  • 网站开发设计方案搜外seo视频 网络营销免费视频课程
  • 网站开发如何做下载支付房产网站建设
  • 开游戏工作室被公安查了赣州seo排名
  • 给女朋友做的生日网站bt最佳磁力搜索引擎吧
  • 著名网站织梦企业网站设计规范
  • 有个专门做dnf游戏币的网站百度热门排行榜