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

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

        

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

 


http://www.kler.cn/a/585462.html

相关文章:

  • [目标检测] 训练之前要做什么
  • 【深度学习|目标检测】YOLO系列anchor-based原理详解
  • SpringBoot旅游管理系统的设计与实现
  • [Java]栈 虚拟机栈 栈帧讲解
  • 蓝桥每日打卡--查找有序数组中的目标值
  • kotlin与MVVM的结合使用总结(二)
  • 工业三防平板AORO-P300 Ultra,开创铁路检修与调度数字化新范式
  • python多种数据类型输出为Excel文件
  • 【模块化编程】数据标签 转 独热编码
  • SSL 和 TLS 认证
  • 汉朔科技业绩高增长:市占率国内外遥遥领先,核心技术创新强劲
  • 六十天前端强化训练之第十七天React Hooks 入门:useState 深度解析
  • 嵌入式硬件--开发工具-AD使用常用操作
  • 今日《AI-人工智能-编程》-3月13日
  • 音视频处理工具 FFmpeg 指令的使用(超级详细!)
  • 电子电子架构 --- 车载ECU信息安全
  • Golang | 每日一练 (5)
  • LabVIEW电池内阻精确测量系统
  • Python基于深度学习的身份证识别考勤系统【附源码、文档说明】
  • 数据炼丹与硬件互动:预测湿度的武学之道