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

做资源下载网站用什么工具推广普通话手抄报内容资料

做资源下载网站用什么工具,推广普通话手抄报内容资料,网站设计原型工具,云南建设厅网站公示2799. 统计完全子数组的数目 给你一个由 正 整数组成的数组 nums 。 如果数组中的某个子数组满足下述条件,则称之为 完全子数组 : 子数组中 不同 元素的数目等于整个数组不同元素的数目。 返回数组中 完全子数组 的数目。 子数组 是数组中的一个连续非空…

2799. 统计完全子数组的数目

给你一个由 正 整数组成的数组 nums 。
如果数组中的某个子数组满足下述条件,则称之为 完全子数组 :
子数组中 不同 元素的数目等于整个数组不同元素的数目。
返回数组中 完全子数组 的数目。
子数组 是数组中的一个连续非空序列。
示例 1:
输入:nums = [1,3,1,2,2]
输出:4
解释:完全子数组有:[1,3,1,2]、[1,3,1,2,2]、[3,1,2] 和 [3,1,2,2] 。
示例 2:
输入:nums = [5,5,5,5]
输出:10
解释:数组仅由整数 5 组成,所以任意子数组都满足完全子数组的条件。子数组的总数为 10 。
提示:
1 <= nums.length <= 1000
1 <= nums[i] <= 2000


题解

不难注意到,对于完全子数组,子数组越长越合法

又是 子数组 又是 越长越合法

很显然就是用滑动窗口

窗口右边界 r 代表子数组结尾,左边界 l 代表子数组开头

r 不断右移,当子数组满足条件时,l 开始右移,直到第一次不满足条件,那么以 l 左边所有数字为开头的子数组都是合法的,即有 l 个完全子数组,res+=l,之后 r 接着右移,即使右移之后窗口内的子数组仍然不满足条件,只是 l 不动而已,还是有 l 个满足条件的子数组,res+=l

r 不断右移,即枚举出所有子数组的结尾,遍历完数组就是所有的完全子数组


代码如下↓

class Solution {
public:int countCompleteSubarrays(vector<int>& nums) {set<int> s;unordered_map<int,int> arr;for(int i:nums){s.insert(i);}int n=s.size();int sum=0;int l=0;int r=n-1;for(int i=0;i<=r;i++){if(arr[nums[i]]++==0){sum++;}}long long res=0;while(r<nums.size()){while(sum==n){if(--arr[nums[l]]==0){sum--;}l++;}res+=l;r++;if(r>=nums.size()){break;}if(arr[nums[r]]++==0){sum++;}}return res;}
};
http://www.dtcms.com/wzjs/296185.html

相关文章:

  • 专题网站建设策划方案网络推广方法技巧
  • 网站么做淘宝客赚佣金阿里云万网域名注册
  • 杭州做绒毛鉴定网站抖音搜索排名优化
  • 公司建设网站费用属于什么费用吗互联网推广运营是做什么的
  • 怎么免费从网站上做宣传seo推广收费标准
  • 网站访问量大打不开天门网站建设
  • 定制化网站建设服装网络营销策划书
  • 电子外发加工网优化大师怎么卸载
  • 什么叫网站上海疫情最新消息
  • 网站英文版建设新闻发稿公司
  • 网站开发怎么谈客户share群组链接分享
  • 网站开发费用多少钱资源最多的磁力搜索引擎
  • 新野做网站网上销售平台有哪些
  • 一个网站怎么推广app制作费用一览表
  • 济南自适应网站建设2023年8月新冠疫情
  • 成都科技网站建设电话咨询上百度推广的网站要多少钱
  • 爱用建站 小程序优化搜索引擎
  • 电子政务与政府网站建设产品网络营销
  • 在网上做黑彩网站会怎样处罚电商网站上信息资源的特点包括
  • 学做档案类网站黑帽seo之搜索引擎
  • 南宁培训网站建设最近最新的新闻
  • 网站开发合同书电商seo是指
  • 实时爬虫网站是怎么做的推广链接点击器网页
  • 怎么做网站赌博杭州seo平台
  • 与知名网站互连茶叶推广软文
  • 如何分析网站的设计seo优化需要多少钱
  • 变装的他 wordpress股票发行ipo和seo是什么意思
  • 无锡网站建设推广服务东莞营销网站建设直播
  • 减肥药可以做网站吗蚌埠seo外包
  • 阜阳网站建设高州新闻 头条 今天