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

LeeCode题库第643题

643.子数组最大平均数I 

项目场景:

给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。

请你找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。

任何误差小于 10-5 的答案都将被视为正确答案。

示例 1:

输入:nums = [1,12,-5,-6,50,3], k = 4
输出:12.75
解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75

示例 2:

输入:nums = [5], k = 1
输出:5.00000

提示:

  • n == nums.length
  • 1 <= k <= n <= 105
  • -104 <= nums[i] <= 104


问题描述

        这题同样也是滑动窗口的思想,cur为当前k个数的和,ans为最大值。利用滑动窗口的方法可以将子数组中保持在k个,这样只需每次移入移出即可,最终返回最大的ans即可。

class Solution:
    def findMaxAverage(self, nums: List[int], k: int) -> float:
        ans=float("-inf")
        cur=0
        for r,num in enumerate(nums):
            cur+=num
            if r<k-1:
                continue
            ans=max(ans,cur/k)
            cur-=nums[r-k+1]
        return ans

        

        以上为本篇文章的全部内容,感谢你抽出宝贵的时间阅读这篇文章。如果你有任何疑问或建议,欢迎在评论区留言,我们一起交流进步。愿你的代码之路越走越顺,生活充满阳光!  

 

相关文章:

  • 用Maven创建只有POM文件的项目
  • MCU的工作原理:嵌入式系统的控制核心
  • 解决 Docker 镜像拉取超时问题:配置国内镜像源
  • 【深度学习|目标检测】YOLO系列anchor-based原理详解
  • 注意力机制,层归一化,RBA。KAN-ODE,小波KAN
  • 提升开发效率的FPGA/IC小工具
  • 文件解析漏洞详解
  • 微软 System Center Configuration Manager(SCCM)的组件文件
  • Python中可调用对象的意义和用途
  • C++类和对象(中) 之 【运算符重载、赋值运算符重载、前置++与后置++、const成员、取地址及const取地址操作符重载】
  • SmartFormat:轻量级文本模板库,轻松替代 string.Format
  • MyBatis 的一级、二级缓存
  • LoRa无线技术解析
  • Flutter开发鸿蒙的项目已经迁移到gitcode了
  • 基于微信小程序的小区管理系统设计与实现【lw+源码+部署+视频+讲解】
  • jenkins通过ssh连接远程服务器出错解决方案(Algorithm negotiation fail)
  • 【愚公系列】《高效使用DeepSeek》003-DeepSeek文档处理和其他顶级 AI模型的区别
  • 基于ssm的一家运动鞋店的产品推广网站的设计
  • 爱立信与 SAP 设定 S/4HANA 企业迁移新基准
  • Webpack 知识点整理
  • 始祖鸟母公司一季度净利大增超25倍:中国营收增超四成,从容应对关税影响
  • 换灯如换脸!西安碑林整修重开观展体验提升
  • 王毅会见美国亚洲协会会长康京和
  • 外交部:中方支持俄乌直接对话谈判,支持政治解决危机
  • 浦江潮涌征帆劲,上海以高质量发展服务全国发展大局
  • 推开“房间”的门:一部“生命存在的舞台” 史