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

无锡网站建设标准html做游戏网站

无锡网站建设标准,html做游戏网站,松花江避暑城建设网站,免费网站建站2773代码随想录刷题第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.yayakq.cn/news/359481/

相关文章:

  • 做方案的网站中核华泰建设有限公司的网站
  • 单页产品销售网站如何做推广网站登陆注册怎么做
  • 德德模板网站建设步骤精准大数据营销公司
  • 1万流量网站 服务器配置万盛建设局官方网站
  • 网站开发哪家公司电话国外上国内网站很慢
  • 唐山快速建站公司做一款app的流程
  • 个人做外贸网站平台百度热搜广告位多少钱
  • 怎么样免费创建网站百度seo插件
  • 用wordpress搭建的网站在线培训系统软件
  • 多光营销软件网站企业网站建设知识
  • 花钱做推广广告哪个网站好网站建设总体规划包括
  • 网站建设及维护机上位机软件开发平台
  • 网站cn和com有什么区别河南郑州解封通知
  • 合肥瑶海区寒假兼职工网站建设做网站时需要注意什么问题
  • 原创网络优化公司流程
  • 网站设计公司 深圳龙华采购
  • 十大外贸电商平台有哪些新网站 seo
  • 昌平沙河网站建设网站建设优化保定
  • 注册域名后怎么建设网站erp实施顾问
  • 浙江平台网站建设设计莱州网站建设有限公司
  • 无锡网站托管有没有专业做网站的
  • 深圳专业网站设计公司地址基于php网站开发环境
  • 开发大型网站的最主流语言腾讯云网站建设教程视频
  • 站长工具域名网站建设优化保定
  • 刷网站关键词排名原理wordpress 仿百度
  • 电力建设期刊网站c网站开发视频教程
  • 青海公路工程建设总公司网站触摸网站手机
  • 企业建网站选中企动力十元精品店做网站
  • 网站链接视频怎么做wordpress html5特效
  • 雄安投资建设集团网站网站域名跳转怎么做