首页 > 其他分享 >letcode 643

letcode 643

时间:2024-09-27 14:52:37浏览次数:3  
标签:avg end nums max sum start 643 letcode

给你一个由 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

代码

class Solution:
def findMaxAverage(self, nums: List[int], k: int) -> float:
# Step 1
# 定义需要维护的变量
# 本题求最大平均值 (其实就是求最大和),所以需要定义sum_, 同时定义一个max_avg (初始值为负无穷)
sum_, max_avg = 0, -math.inf

# Step 2: 定义窗口的首尾端 (start, end), 然后滑动窗口
start = 0
for end in range(len(nums)):
# Step 3: 更新需要维护的变量 (sum_, max_avg), 不断把当前值积累到sum_上
sum_ += nums[end]
if end - start + 1 == k:
max_avg = max(max_avg, sum_ / k)
# Step 4
# 根据题意可知窗口长度固定,所以用if
# 窗口首指针前移一个单位保证窗口长度固定, 同时提前更新需要维护的变量 (sum_)
if end >= k - 1:
sum_ -= nums[start]
start += 1
# Step 5: 返回答案
return max_avg

标签:avg,end,nums,max,sum,start,643,letcode
From: https://blog.csdn.net/m0_66095096/article/details/142593826

相关文章

  • (免费源码)spring boot 双端融合的教学过程管理系统小程序66431 计算机毕业设计必看必学
     springboot双端融合的教学过程管理系统小程序摘 要随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,双端融合的教学过程管理系统小程序被用户普遍使用,为方便用户能够可以......
  • letcode 438 找到字符串中所有字母异位词
    ##给定两个字符串,找到s中所有p的yi子串,返回这些子串的起始索引。##不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串(包括相同的字符串)。输入s=“cbaebabacd”,p=“abc”输出【0,6】输入s=”abab“,p=“ab”classsloution:defcharyiwei(self,nums1,nums2):has......
  • 力扣刷题--2643.一最多的行【简单】
    题目描述......
  • VDI/VDE 2643 Part3 2008:10
    [!NOTE]原始PDF链接:https://www.doc88.com/p-50359701027029.htmlOptical3D-measuringsystemsMultipleviewsystemsbasedonareascanningPreliminarynoteThecontentofthisguidelinehasbeendevelopedinstrictaccordancewiththerequirementsandrecomme......
  • Python安装出现严重错误的解决方法_0x80070643-( A newer version of the Python laun
    每次在装软件配置环境的时候,总会遇到别人碰不到的各种问题,人都麻了。最后我还是自己尝试这解决了,只是建议,虽然说不知道是否以后还会问题,但是可以成功安装,配置环境并运行。(本人是win11)首先解释一下pythonlauncher是什么资料解释:PythonLauncher是Python官方提供的一个工具,......
  • COMP643 Advanced Database Management
    COMP643AdvancedDatabaseManagementAssignment3Worth:20%ofcoursemarksforCOMP643.Due:Friday,14thJune20245:00p.m.LatePenalty:Worknotreceivedbytheduetimeattractsanimmediatepenalty,upto25%ofthepointsavailable.Noworkw......
  • Window 安装 Python 失败 0x80070643,发生严重错误
    问题现象用安装包在window安装python,会遇到没有安装成功,卸载后,再次双击安装包安装的时候,直接无法安装了。这个问题在githubissue中有提到,但是都是2022年的时,代码修复,但是在2024年,安装的时候还是遇到了这个问题。测试下来:python3.7,3.8没有这个问题,如果着急,就先安......
  • https://blog.csdn.net/qq_64314976/article/details/125843147
    importjava.awt.FlowLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.ButtonGroup;importjavax.swing.JButton;importjavax.swing.JCheckBox;importjavax.swing.JComboBox;importjavax.s......
  • 操作系统综合题之“采用二级页表的分页存储管理方式,计算页目录号的位数 和 页大小,给定
    一、问题:某计算机系统的主存按字节编址,逻辑地址和物理地址都是32位,其内存管理采用两级页表的分页存储管理方式。逻辑地址中页号位10位,页内偏移地址为10位。该计算机系统的两级页表结构如下图所示,图中数值均为十进制数1.页目录号的位数为多少?页的大小为多少KB?2.如果页目录项大小......
  • letcode的使用方法
    1.注册账号:•访问LeetCode官方网站(https://leetcode.com/)并注册一个账号,可以选择使用邮箱地址注册,也可以通过第三方账号如GitHub或Google登录。2.选择题目:•登录后,可以在主页看到各种算法题目,题目按照不同的难度级别(Easy、Medium、Hard)划分,也有按照标签(如数......