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

好上手的做海报网站网络营销师课程

好上手的做海报网站,网络营销师课程,crm软件下载,服务器正常网站打不开代码随想录刷题第10天 |● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 239. 滑动窗口最大值 唉&#xff0c;好难&#xff0c;先记个思路吧 class Solution { private:class MyQueue { //单调队列&#xff08;从大到小&#xff09;public:deque<int> que; // 使用deq…

代码随想录刷题第10天 |● 239. 滑动窗口最大值 ● 347.前 K 个高频元素

239. 滑动窗口最大值

唉,好难,先记个思路吧
class Solution {
private:class MyQueue { //单调队列(从大到小)public:deque<int> que; // 使用deque来实现单调队列// 每次弹出的时候,比较当前要弹出的数值是否等于队列出口元素的数值,如果相等则弹出。// 同时pop之前判断队列当前是否为空。void pop(int value) {if (!que.empty() && value == que.front()) {que.pop_front();}}// 如果push的数值大于入口元素的数值,那么就将队列后端的数值弹出,直到push的数值小于等于队列入口元素的数值为止。// 这样就保持了队列里的数值是单调从大到小的了。void push(int value) {while (!que.empty() && value > que.back()) {que.pop_back();}que.push_back(value);}// 查询当前队列里的最大值 直接返回队列前端也就是front就可以了。int front() {return que.front();}};
public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {MyQueue que;vector<int> result;for (int i = 0; i < k; i++) { // 先将前k的元素放进队列que.push(nums[i]);}result.push_back(que.front()); // result 记录前k的元素的最大值for (int i = k; i < nums.size(); i++) {que.pop(nums[i - k]); // 滑动窗口移除最前面元素que.push(nums[i]); // 滑动窗口前加入最后面的元素result.push_back(que.front()); // 记录对应的最大值}return result;}
};

前 K 个高频元素

看到出现的次数 就可以想到哈希表了,但是那个小顶堆完全没用过,难顶,语法都有点懵
class Solution {
public:// 小顶堆class mycomparison {public:bool operator()(const pair<int, int>& lhs, const pair<int, int>& rhs) {return lhs.second > rhs.second;}};vector<int> topKFrequent(vector<int>& nums, int k) {// 要统计元素出现频率unordered_map<int, int> map; // map<nums[i],对应出现的次数>for (int i = 0; i < nums.size(); i++) {map[nums[i]]++;}// 对频率排序// 定义一个小顶堆,大小为kpriority_queue<pair<int, int>, vector<pair<int, int>>, mycomparison> pri_que;// 用固定大小为k的小顶堆,扫面所有频率的数值for (unordered_map<int, int>::iterator it = map.begin(); it != map.end(); it++) {pri_que.push(*it);if (pri_que.size() > k) { // 如果堆的大小大于了K,则队列弹出,保证堆的大小一直为kpri_que.pop();}}// 找出前K个高频元素,因为小顶堆先弹出的是最小的,所以倒序来输出到数组vector<int> result(k);for (int i = k - 1; i >= 0; i--) {result[i] = pri_que.top().first;pri_que.pop();}return result;}
};
http://www.ds6.com.cn/news/122561.html

相关文章:

  • 营销型网站模板海淀区seo搜索引擎
  • 台湾设计师网站网站推广开户
  • 任何网站都可以做谷歌推广的吗产品宣传方式有哪些
  • 有哪些b2c网站如何制作一个自己的网页
  • 凡客网站建设产品推广方式及推广计划
  • 贵阳模板做网站搜索引擎关键词排名优化
  • 国内网站建设公司排名营销策划的八个步骤
  • 网页访客升级seo综合查询怎么用的
  • 免费网站建设公司代理南昌seo方案
  • 家居网站建设的需求分析做网站的公司哪家最好
  • 网站建设的公司上海网站seo优化的目的
  • 夸网站做的好怎么夸网络推广和竞价怎么做
  • 衡水网站建设最新报价深圳优化排名公司
  • 向搜索引擎提交网站企业培训考试系统
  • 可以看的网站都有哪些百度快照怎么做
  • TP框架网站的中英文切换怎么做亚马逊关键词优化软件
  • 网站开发结束语网络营销网站设计
  • wordpress主题雪人yeti1.9.2网站排名优化培训课程
  • 定制旅游网站建设成都网页制作用什么软件做
  • wordpress站点统计国际要闻
  • 许昌做网站汉狮网络引擎搜索技巧
  • 网站的特点长春网站快速优化排名
  • 做网站的钱付款用途写什么百度广告客服电话
  • wordpress隐藏设置seo是什么
  • vs2008做html5网站百度推广步骤
  • 美国地接公司怎么在中国网站做推广app有哪些推广方式
  • 东莞商城网站推广建设网店运营与推广
  • 品牌网站品牌理念老旧的后果桂平网络推广
  • ps做全屏网站画布要多大品牌营销理论有哪些
  • 微信商城和微网站建设网上学电脑培训中心