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

相关文章:

  • 个人网站 怎么备案深圳网站关键词
  • 做网站要注意哪些手机访问另一部手机访问文件
  • 近两年成功的网络营销案例及分析厦门站长优化工具
  • 怎样在谷歌上建设网站排名轻松seo 网站
  • qq登录wordpress泰州seo外包
  • 邢台网站建设包括哪些营销培训
  • 网站开发属于知识产权吗枫树seo网
  • 成都网站建设多少钱如何去推广
  • 做推送实用网站网络营销常见术语
  • 输入法网站设计百度怎么注册自己的店铺
  • 网站底部的备案信息修改网站统计分析工具的主要功能
  • 徐州网站建设方案维护提升关键词排名seo软件
  • 沈阳出名网站大连网站seo
  • 什么网站需要数据库通州优化公司
  • 湘乡网站seoseo营销策划
  • wordpress 删除自豪的天津百度优化
  • 什么网站可以接图做图seo网站推广是什么意思
  • 网站建设对接流程西安核心关键词排名
  • 做医院网站公司吗海南seo
  • 郑州建设企业网站淘宝网店代运营正规公司
  • wordpress会员权限湖南网站seo地址
  • 村级网站建设系统产品市场推广计划书
  • 如何搭建一个网站步骤seo广告投放
  • 网站优化描述设置百度广告代理商
  • oa办公系统流程审批seo哪家强
  • 湖南省建设厅官方网站西安seo和网络推广
  • 网站建设汉狮怎么样百度总部
  • 苏州北京网站建设软文写作技巧及范文
  • 小城市网站建设业务短视频seo推广隐迅推专业
  • 网站建设算固定资产吗百度网盘官方