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

力扣2653. 滑动子数组的美丽值

在这里插入图片描述
在这里插入图片描述
这一题的大意是指给出一个长度为n的数组,然后让我们找到每一个长度为k的子数组的美丽值,所谓美丽值就是如果子数组中第x个数是负数,那么美丽值就是这个数,否则就是0.
现在让我们找所有长度为k的子数组的美丽值。
看到子数组长度为k,很明显建立滑动窗口,**重点就在于如何快速的找到滑动窗口中第x个数是负数还是其他。*我刚开始想要哈希表,但似乎哈希表无法表示第x个数这种顺序性,于是只想到用应该二维数组,来存储每一个窗口的所有值,然后再对每一个窗口排序,这样很明显10^5 10 ^ 5是超空间的。
但我疏忽的一点是题目上给出数组中的元素值是范围是很小的,因此我们可以用计数排序的思想,循环遍历所有可能会出现的负数元素值,看它会不会出现在滑动窗口的哈希表中,如果哈希表中存在x个负数,就说明美丽值是存在的,反之为0.这句话用代码表示即为下面:

        int cnt=0;for(int i=-50;i<0;i++){if(mp.count(i)){cnt+=mp[i];}if(cnt>=x){ans.push_back(i);break;}}if(cnt<x){ans.push_back(0);}

完整代码如下:

class Solution {
public:vector<int> getSubarrayBeauty(vector<int>& nums, int k, int x) {vector<int> ans;unordered_map<int,int> mp;int l=0;int r=l+k-1;int n=nums.size();for(int i=0;i<0+k;i++){mp[nums[i]]++;}int cnt=0;for(int i=-50;i<0;i++){if(mp.count(i)){cnt+=mp[i];}if(cnt>=x){ans.push_back(i);break;}}if(cnt<x){ans.push_back(0);}mp[nums[l]]--;if(mp[nums[l]]==0){mp.erase(nums[l]);}l++;for(int i=k;i<n;i++){mp[nums[i]]++;cnt=0;if(i-l+1==k){for(int j=-50;j<0;j++){if(mp.count(j)){cnt+=mp[j];}if(cnt>=x){ans.push_back(j);break;}}if(cnt<x){ans.push_back(0);}mp[nums[l]]--;if(mp[nums[l]]==0){mp.erase(nums[l]);}l++;}}return ans;}
};

时间复杂度为O(n*常数)约等于O(n)。

http://www.dtcms.com/a/439181.html

相关文章:

  • 网站开发的常见编程语言有哪些成都广告公司招聘信息
  • 给网站做引流多少钱网站sem怎么做
  • 辽宁省水利建设市场信用信息平台网站营销推广策划
  • 欢迎进入河南国安建设集团有限公司网站十大不收费看盘软件排名下载
  • 淘宝上面建设网站安全么夜猫直播视频下载
  • 宝应网站设计17做网站 一件代发
  • DBCA静默创建Oracle CDB与PDB:两种实战方法详解
  • ARM内核
  • 佛山网站建设哪个wordpress主题汉化版
  • 乐山网站制作设计公司网页设计规范图标设计
  • Kubernetes中配置NGINX仅支持TLSv1.3全攻略
  • 国外直播做游戏视频网站有哪些开个网站卖机器怎么做
  • c 网站开发架构多用户商城app
  • 【面板数据】华政ESG评级年度中位数年度均值(2009-2024年)
  • ORB_SLAM2原理及代码解析:ORBmatcher::SearchForInitialization() 函数
  • 国家城乡和建设厅特殊工种网站网站建设需求多少钱大概
  • 系统架构设计师教程第二版重要的图
  • 网站开发代码无中文ppt制作网站推荐
  • 因果推断想突破传统局限?深度学习 × 结构经济模型,异质性研究的创新契机在这
  • 郑州网站推广报价做淘宝优惠券网站要多少钱
  • 网站建设推广 seoseo网站页面优化
  • 第7篇|场址适应性评估:把“课本里的风机”落到“具体那座山谷和海岸”
  • 网站建设找客户国外jquery特效网站
  • 《强化学习数学原理》学习笔记6——贝尔曼最优方程的压缩性质
  • linux 学习平台 arm+x86 搭建
  • 哪里的网站可以做围棋死活题黄江镇网站仿做
  • 制作网站结构设计国外服务器网站打开慢
  • 数据结构---栈和队列详解(下)
  • 湖南新能源公司中企动力网站建设wordpress网页静态化
  • Kubernetes从零入门(三):Kubernetes API--资源模型