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

中国建设银行网站官网下载安装创新驱动发展战略

中国建设银行网站官网下载安装,创新驱动发展战略,功能型网页设计,用阿里巴巴做公司网站怎么样1.deque使用 239. 滑动窗口最大值 deque的介绍在C语法(12)---- 模拟实现queue和stack_哈里沃克的博客-CSDN博客 其实deque就是一个两头都能进出数据的数据结构,我们之所以使用它就是因为他的结构特点就是两边出,这样我们既可以判…

1.deque使用

239. 滑动窗口最大值

deque的介绍在C++语法(12)---- 模拟实现queue和stack_哈里沃克的博客-CSDN博客

其实deque就是一个两头都能进出数据的数据结构,我们之所以使用它就是因为他的结构特点就是两边出,这样我们既可以判断大小,又可以出入数据。那么它的底层实现其实就是一个vector存储指针,指针指向vector,指向的vector中才是存储数据的,那么存储指针的vector主要起到向两边扩容和整体遍历的功能。

1.push的思路:如果前面的数据被push进的数据小,那么我们就要将前面的数据一并移除

2.pop的思路:如果打头的数据是我们要删除的数据,那就删除。如果不是,说明其实在push阶段就已经将其pop掉了

3.其实这样的动态过程可以看作是,每一次的push都是将最大值放在最前面为pop做准备,那么每次比前面小的,说明位置上要晚于大的值,并且滑窗往后走,小的值也会被留下作为判断的一个依据。那么pop其实就是将已经离开滑窗并且在deque是最大的值的数pop走

4.得到最大值,其实就是打头的数据

class Solution {
public:deque<int> q;void max_pop(int num){if(!q.empty()&&num==q.front())q.pop_front();}void max_push(int num){while(!q.empty()&&q.back()<num)q.pop_back();q.push_back(num);}int get_max_num(){return q.front();}vector<int> maxSlidingWindow(vector<int>& nums, int k) {vector<int> ret;for(int i=0;i<k;i++)max_push(nums[i]);ret.push_back(get_max_num());int tmp = k;while(tmp<nums.size()){max_pop(nums[tmp-k]);max_push(nums[tmp++]);ret.push_back(get_max_num());}return ret;}
};

2.优先级队列使用

1.重复值计数问题,我们自然想到可以用map来进行查重和计数

2.前k个值的问题,我们自然想到大堆

3.那么重要的事情其实就是如何比较大小来建立大堆,我们需要写一个仿函数得到大堆,那么我们只需要重新写一个类型less的仿函数,比较的是数的重复次数,所以比较的是pair的second。

4.那么其实实现起来就简单了,首先对nums计数查重,将数据放到map中。再把map中的数据调出进行入堆。由于是大堆。那么我们出来的元素就是最大的元素,那么根据要出去几次就pop几次把pair对应的first值传入ret中,这样我们就得到了想要的数据了。

class Solution {
public:class topless{public:bool operator()(const pair<int,int>& x,const pair<int,int>& y){return x.second<y.second;}};vector<int> topKFrequent(vector<int>& nums, int k) {vector<int> ret;unordered_map<int,int> um;for(auto e:nums)um[e]++;priority_queue<pair<int,int>,vector<pair<int,int>>,topless> pq;for(auto e:um){pq.push(make_pair(e.first,e.second));}for(int i=0;i<k;i++){ret.push_back(pq.top().first);pq.pop();}return ret;}
};
http://www.hengruixuexiao.com/news/40564.html

相关文章:

  • wordpress语音朗读沈阳优化推广哪家好
  • 南阳锐诚网站建设三生网络营销靠谱吗
  • 国家骨干院校建设网站企业网站推广方法
  • 云南网站制作怎么计费宣传网站有哪些
  • 宝坻做网站站长之家网站介绍
  • 电商 网站 降低 跳出率 措施 效果网络软文发布
  • 装饰网站建设运营常州seo建站
  • 前端做用vue做后台多还是做网站多最佳磁力吧cili8
  • wordpress wp_register()sem优化是什么
  • 学建设网站及功能免费打广告网站
  • 济南网站建设新风向有什么平台可以推广
  • 网站建设费用申请网络营销课程去哪里学
  • 现在一般做网站都是去哪家做的推广网站的文案
  • 注册公司在哪个网站注册无锡百度推广开户
  • 个人做淘宝客网站有哪些搜索引擎yandex入口
  • 外贸跟单的流程搜索引擎优化策略
  • jsp 响应式网站模板下载品牌推广的方式有哪些
  • 免费好用的云电脑网站seo优化培训
  • 做外贸生意哪个网站好目前较好的crm系统
  • 网站广告位设计长尾词优化外包
  • 地方网站 o2o做互联网推广的公司
  • wordpress使用oss长春seo外包
  • 网站中的ppt链接怎么做网站怎么优化
  • 德清网站建设中心免费的网页网站
  • 如何建设一个网站网页晨阳seo顾问
  • 做网站推广托管注意百度搜索引擎api
  • idc新人如何做自己的网站企业网站怎么推广
  • 企业做网站的钱怎么做账网页制作教程
  • 自助建站搜狗推广登录
  • 前端做项目有哪些网站长沙seo咨询