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

django商城网站开发的功能国外网站模板网站建设

django商城网站开发的功能,国外网站模板网站建设,温州产品推广网站,广州app网站建设2962. 统计最大元素出现至少 K 次的子数组 问题分析 输入:一个整数数组 nums 和一个正整数 k。 目标:找到所有子数组,使得该子数组中的最大元素至少出现 k 次,并返回这样的子数组的数量。 思考 找到数组中的最大值 首先&#x…

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

在这里插入图片描述

问题分析

输入:一个整数数组 nums 和一个正整数 k。
目标:找到所有子数组,使得该子数组中的最大元素至少出现 k 次,并返回这样的子数组的数量。

思考

  1. 找到数组中的最大值
    首先,我们需要找到数组 nums 中的最大值 mx。
  2. 统计 mx 的出现次数
    然后,我们遍历数组,统计 mx 的出现次数 cnt_mx。
  3. 使用滑动窗口技术
    为了高效地找到所有满足条件的子数组,我们可以使用滑动窗口技术:
    初始化:设置两个指针 left 和 right,分别表示窗口的左边界和右边界。同时,初始化 cnt_mx(窗口内 mx 的出现次数)和 ans(满足条件的子数组数量)。
    扩展窗口:遍历数组,每次将 right 指针向右移动一位,如果当前元素等于 mx,则 cnt_mx 加 1。
    收缩窗口:当 cnt_mx 达到 k 时,进入内部 while 循环,移动 left 指针,缩小窗口,直到 cnt_mx 小于 k。在每次移动 left 指针时,如果 nums[left] 等于 mx,则 cnt_mx 减 1。
    更新答案:每次迭代时,ans 增加 left 的值,表示以 right 为右端点且长度不小于 left 的子数组都满足条件。

代码

class Solution:def countSubarrays(self, nums: List[int], k: int) -> int:mx = max(nums)ans = cnt_mx = left = 0for x in nums:if x == mx:cnt_mx += 1while cnt_mx == k:if nums[left] == mx:cnt_mx -= 1left += 1ans += leftreturn ans

复杂度分析

时间复杂度
遍历数组:外层 for 循环遍历数组,时间复杂度为 O(n)。
滑动窗口:内层 while 循环在最坏情况下每个元素最多被访问两次(一次由 right,一次由 left),因此时间复杂度也为 O(n)。
综合上述分析,总的时间复杂度为 O(n)。
空间复杂度
额外空间:只使用了常数级的额外空间(mx、ans、cnt_mx、left 等变量),因此空间复杂度为 O(1)。

学习

在这里插入图片描述

作者:灵茶山艾府
链接:https://leetcode.cn/problems/count-subarrays-where-max-element-appears-at-least-k-times/solutions/2560940/hua-dong-chuang-kou-fu-ti-dan-pythonjava-xvwg/
来源:力扣(LeetCode)

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

相关文章:

  • 网站建设 千助上海小微企业名录查询
  • 如何在yy做电影网站网站地图生成软件
  • 科技网站排名6万左右装修三室两厅
  • 四川网站制作成都如何使用模板做网站
  • 有用cc域名做网站的海港经济开发区人才网
  • 网站建设灬金手指科杰免费源码网站天
  • 抖音网站怎么做个人信息网站建设的心得体会
  • 天津网站建设哪家做得好wordpress搭建个人网站
  • wordpress 建站免费郑州遗像制作
  • 企业定制网站开发维护合同前端是啥
  • 做网站代码难么专业网站开发培训
  • html5 网站建设小程序备用金
  • dw做网站模板知名平面广告设计公司
  • 公司网站设计需要什么wordpress高级版破解版
  • 网站设计网络推广优化做视频编辑哪个网站素材比较好
  • 汕头网站上排名梧州网站推广外包服务
  • 胶州市经济技术开发区建设局网站小程序前端开发教程
  • 网站开发培训多少钱临沂网站群发软件
  • 专业的网站建设电话系统优化升级
  • python做的网站哪些上海物流公司网站建设
  • html5教育网站邢台哪个公司做网站
  • 网站建设带数据库模板下载制作网站哪家服务好
  • 谷歌官方网站注册其中最重要的网络设计结果
  • 左侧菜单 网站常见的网络营销类型有
  • 教你如何创建自己的网站网站开发中制作视频播放器
  • 如何做条形码网站怎么搞做文字的网站
  • 德州做网站的公司有没有那个的网站
  • 成都营销型网站制作公司淘客网站做单品类
  • 深圳网站建设软件开发公司十大猎头公司
  • yahoo网站提交网站建设工具有哪些品牌