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

网站建设品牌营销长春关键词搜索排名

网站建设品牌营销,长春关键词搜索排名,官方网站制作思路,特色专业网站建设模板2962. 统计最大元素出现至少 K 次的子数组 给你一个整数数组 nums 和一个 正整数 k 。 请你统计有多少满足 「 nums 中的 最大 元素」至少出现 k 次的子数组,并返回满足这一条件的子数组的数目。 子数组是数组中的一个连续元素序列。 示例 1: 输入&#…

2962. 统计最大元素出现至少 K 次的子数组

给你一个整数数组 nums 和一个 正整数 k 。
请你统计有多少满足 「 nums 中的 最大 元素」至少出现 k 次的子数组,并返回满足这一条件的子数组的数目。
子数组是数组中的一个连续元素序列。
示例 1:
输入:nums = [1,3,2,3,3], k = 2
输出:6
解释:包含元素 3 至少 2 次的子数组为:[1,3,2,3]、[1,3,2,3,3]、[3,2,3]、[3,2,3,3]、[2,3,3] 和 [3,3] 。
示例 2:
输入:nums = [1,4,2,1], k = 3
输出:0
解释:没有子数组包含元素 4 至少 3 次。
提示:
1 <= nums.length <= 105
1 <= nums[i] <= 106
1 <= k <= 105

题解

如标题所示,本题采用滑动数组进行解题

题目要求所有满足条件的子数组
那么我们自然需要考虑所有的子数组
我们该如何做到呢

首先看看如何枚举所有的子数组
我们可以用一个循环枚举出所有子数组可能的开头,然后内层再写一个循环枚举所有可能的结尾,这样就枚举了所有的子数组

那么滑动数组又该如何考虑到所有的子数组呢?


类似的,我们可以写一个循环枚举出所有子数组的结尾 i
然后使用指针 l=0 作为子数组的开头,那么 l 与 i 就是滑动窗口的区间
我们使用变量 count 记录滑动窗口中的最大值的个数,res=0 记录返回值
此时 i 作为窗口的右边不断右移
当 count == k 时,此时的滑动窗口满足条件,我们找到了一个答案

但是问题是,接下来我们要如移动滑动窗口呢?
将 i 向右移,还是将 l 向右移

注意到,我们第一层循环是枚举所有子数组的结尾
只要对于每一种结尾,我们都找到所有可能的子数组就能解决问题
但是我们显然不能枚举开头 l ,否则与枚举就一样了,时间复杂高
当 count == k 时,我们可以将 窗口左边 l 右移,直到 count != k
那么对于此时的 i ,此时所有以 l 的左边为开头的子数组 [ l, i ] 都是满足条件的
也就是我们找到了以 i 结尾的所有满足条件的子数组
所以滑动窗口 [ l, i ] 的含义就是以 i 结尾的,第一个不满足条件的子数组
res+=l ,枚举下一个 i
如果 count != k,那么 l 的位置不变,res+=l
如果count==k,那么接着移动 l 直到滑动窗口不满足条件

总计滑动窗口划过一次数组,时间复杂度为 O(n)


代码如下↓

long long countSubarrays(int* nums, int numsSize, int k) {int l=0;int max=0;long res=0;int count=0;for(int i=0;i<numsSize;i++){if(nums[i]>max){max=nums[i];}}for(int i=0;i<numsSize;i++){if(nums[i]==max){count++;}while(count==k)//怎么说呢,每次i就是子数组的右端点,每次当count的个数为k的时候,就将l右移,直到count<k,那么l之前的所有字符都可以作为子数组的左端点,也就是说以i为右端点的满足条件的子数组有left个。然后i继续右移,直到count再次==k,然后重复以上过程,left左边的所有字符同样满足条件,count的个数肯定>=k,所以res+=left{if(nums[l]==max){count--;}l++;}res+=l;printf("%d\n",l);}return res;
}
http://www.dtcms.com/a/594988.html

相关文章:

  • 宁夏建设厅网站6免费注册帐号qq
  • 找第三方做网站 需要注意网站建设具体步骤
  • DeepSeek全维度应用指南
  • 【C++】vector的迭代器失效问题,(什么是迭代器失效,为什么会产生迭代器失效,怎么避免迭代器失效问题)
  • 郑州网站建设需要多少钱wordpress 系统找不到指定的文件.
  • 网站平台设计费用产品免费发布平台
  • 湖南网站排名遵义网上制作网站
  • 网站建设一般要多大空间wordpress 按别名
  • 不写代码做网站手机网站建站工作室
  • 淘宝客网站模板下载资讯文章网站模板
  • 外贸网站建设公司效果1688seo优化是什么
  • 定制企业网站建设网页制作作业100例
  • 自己做个网站需要些什么站长工具seo综合查询问题
  • 炽乐清网站建设荣耀商城
  • MCP入门:让AI与外部世界真正连接
  • 贵州省城乡与住房建设厅网站专业网站建设微信官网开发
  • 网站开发安全文档网址大全最新版
  • 低多边形生成网站做网站 一级 二级
  • arm day1
  • 景安网站上传完还要怎么做成品影视app开发工具
  • LoRa 与 LoRaWAN 技术解析:物理层原理、网络架构与典型物联网应用场景
  • 网站开发的交付文档建网站可行性分析
  • 免费推广网站地址大全链接制作软件
  • 做网站项目收获东莞做阀门的网站
  • 动漫电影做英语教学视频网站有哪些余姚网站建设找哪家
  • 一般做网站服务器的cpu鹤壁市淇县网站建设
  • 襄垣城乡建设管理局的网站重庆建筑工程职业学院
  • 产品导航网站源码wordpress能做企业站吗
  • 网站建站需要什么软件蓝色网站导航
  • 长春火车站停车场24小时收费标准贵城乡建设官方网站