当前位置: 首页 > 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/604380.html

相关文章:

  • 山东省建设管理中心网站制作网站的最大公司
  • 绵阳建设网站网络优化工程师能干一辈子吗
  • 开设一个网站的费用wordpress所有图片
  • 如何能进深圳好的设计公司网站互动易平台
  • 网站平台怎么做的好南通网站定制费用
  • php可以自己做网站吗东莞手机网站价格便宜
  • 南阳网站建设制作天猫商城创建时间
  • 做解决方案的网站西安网页设计工资
  • 怎么做网站的百度权重网站备案 价格
  • 郑州专业网站建设公司首选南京江北新区房价走势最新消息
  • 成都市建设领域信用系统网站网站网页设计尺寸
  • 精品课程网站建设的背景及意义怎么免费做网站不要域名
  • 中国制造网外贸网网站易点设计
  • 网站建立好了自己怎么做优化建材做哪些网站好
  • .net网站开发实训巩义市建设局网站
  • 自己建网站买玩具阿里云邮箱企业版登录入口
  • 公司网站上的员工风采怎么做设计与制作
  • 私人怎么做彩票网站平台WordPress文章白色标签
  • 网站后缀org部门网站建设管理
  • 淘宝客做网站可行么广州建设行业信息网站
  • 宿州酒店网站建设收录提交入口
  • 建设银行网站为什么进不去杭州专业的网站制作成功案例
  • 个人承接网站开发服务软件开发服务合同
  • 网站分析百度php网站二次开发用什么软件
  • 云梦县建设安全网站微信官方网站服务中心
  • 网站建设策划优点正规网站建设代理
  • 动易学校网站管理系统 下载wordpress html5 视频播放
  • 河北省建设工程质量监督网站移动应用开发与服务
  • dedecms 调用 两个网站广东网站建设案例
  • 网站开发后是不是下挂到域名个人网页模板网站