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

如何在自己的网站上做歌单网站广告制作

如何在自己的网站上做歌单,网站广告制作,做招聘网站还有法盈利吗,做网站 有哪些问题给你一个由 正 整数组成的数组 nums 。 如果数组中的某个子数组满足下述条件,则称之为 完全子数组 : 子数组中 不同 元素的数目等于整个数组不同元素的数目。 返回数组中 完全子数组 的数目。 子数组 是数组中的一个连续非空序列。 示例 1&#xff…

给你一个由  整数组成的数组 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,同属用哈希表存储。当nums[r]加入后哈希表长度等于k时,‘说明此时窗口满足题意,移动左端点l,表示要移除的元素,当--nums[l]==0时,从哈希表中移除这个元素,表示不同数字个数少一。

内层循环结束后,ans+=left。因为数组长度越长越容易符合题意,所以left-1到0的位置都是符合题意的子数组。一共有left个。

 小技巧,统计nums中不同数字个数的方法

unordered_set<int> st(nums.begin(),nums.end());
int k = st.size();

完整代码

class Solution {
public:int countCompleteSubarrays(vector<int>& nums) {unordered_set<int> st(nums.begin(),nums.end());int k = st.size();unordered_map<int,int> cnt;int ans = 0,left = 0;for(int x : nums){cnt[x]++;while(cnt.size() == k){//当窗口中不同数字的个数符合要求时//缩小窗口int out = nums[left];if(--cnt[out] == 0){cnt.erase(out);}left++;}ans += left;//}return ans;}
};

http://www.dtcms.com/wzjs/102098.html

相关文章:

  • 互动网站建设网站开发技术有哪些
  • 时尚大气网站设计关键词歌词简谱
  • 成都市建设网站首页北京关键词优化服务
  • 营销型 展示类网站东莞公司seo优化
  • 大连凯杰建设有限公司网站产品营销策略怎么写
  • scala做网站无锡百度竞价
  • 红色系列的网站网络营销有哪些模式
  • 网站建设seo优化的好处如何让百度能查到自己
  • 如何自己做代理网站的想法品牌网络seo方案外包
  • 做学科竞赛的网站购物网站如何推广
  • avada 做的网站全媒体广告投放平台
  • 南阳市网站制作网络广告电话
  • 青岛建设集团建兴工程有限公司南阳网站优化公司
  • 怎么做卖外挂网站免费的找百度
  • iis做网站的流程seo关键词优化如何
  • 重庆集团网站建设seo领导屋
  • 网站建设首页模板推广赚钱app哪个靠谱
  • 长春做网站建设的公司提高网站排名软件
  • wordpress 不兼容ieseo点击软件手机
  • 海门做网站怎么查百度竞价关键词价格
  • 免费二级域名申请珠海百度seo
  • 陕西省人民政府办公厅官网北京百度关键词优化
  • 网站建设移动端官网企业宣传ppt
  • 专做健身餐的网站网址怎么注册
  • 最好的做网站seo优化seo外包
  • 域名续费一年多少钱seo搜索引擎
  • 张北网站建设天津网站优化软件
  • 网站即时在线客服嘉兴seo外包平台
  • 建设银行征信中心个人信用查询官方网站关于手机的软文营销
  • 网站开发分站宁波优化网页基本流程