LeetCode:子数组最大平均数 I

最大平均(和)子序列 题目描述 给定n个数的数组,找到所有长度大于等于k的连续子数组中平均值最大的那个。返回那个最大的平均值。 1 样例 输入:[1,12,-5,-6,50,3], k = 4 输出:12.75 说明: 长度为4的子数组中,最大的平均值为12.75,(=(12 + -5 + -6 + 50)/4) 长度为5的子数组中,最大的平均值为10.8,(=(12 + -5 + -6 + 阅读详情

LeetCode:子数组最大平均数 I

题目
给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。

示例 1:

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

注意:

1 <= k <= n <= 30,000。
所给数据范围 [-10,000,10,000]。

解题思路

dp[i]是前i个数字的和,然后从前往后当遇到索引i大于k的时候,计算i-k到i之间的和最大即可。
由于dp数组保存了前面的和,i-k到i区间的和等于dp[i] - dp[i-k]。
时间复杂度O(n)!
class Solution {
public:
    double findMaxAverage(vector<int>& nums, int k) {
        int dp[30002] = {0};
        if(nums.size() == 1)
            return nums[0];
        dp[1] = nums[0];
        double max_sum = INT_MIN;
        if( k == 1)
            max_sum = nums[0];
        for( int i = 2; i <= nums.size(); i++)
        {
            dp[i] = dp[i-1] + nums[i-1];
            if( i >= k && dp[i] - dp[i-k] > max_sum)
                max_sum = dp[i] - dp[i-k];
        }
        return max_sum/k;
    }
};
【LeetCode】第643题——子数组最大平均数I(难度:简单) 【LeetCode】第643题——子数组最大平均数I(难度:简单)题目描述解题思路代码详解注意点 题目描述 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 示例: 输入:[1,12,-5,-6,50,3], k = 4 输出:12.75 解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75 提示: 1 <= k <= n <= 30,000。 所给数据范围 [-10,000,10,000]。 来源:力扣(LeetCode) 链接: 阅读详情

相关推荐

CentOS 7 离线升级 OpenSSH 9.9p2 保姆级教程(含依赖包下载与常见报错解决)

本文提供了一份详尽的CentOS 7系统离线升级OpenSSH至9.9p2版本的完整教程。针对无外网环境,重点讲解了依赖包(尤其是OpenSSL 3.x)的离线下载与编译部署,并深入解决了编译过程中常见的“libcrypto.so缺失”等动态库链接错误。教程涵盖从环境准备、源码编译、服务配置到系统集成的全流程,最后还提供了关键的回滚方案与应急预案,是运维人员在内网环境中进行安全加固的实用指南。

weixin_29248313的博客 325

子数组最大平均数

643. 子数组最大平均数 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 示例: 输入:[1,12,-5,-6,50,3], k = 4 输出:12.75 解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75 提示: 1 <= k <= n <= 30,000。 所给数据范围 [-10,000,10,000]。 分析 用滑动窗口来做,首先算出前k-1个的和sum,然后sum每次减去开头的数,并加上最后一个数的下一个数。 代码 cla

qq_44787830的博客 373

ZYNQ实战:手把手教你用AXI4-Full IP核打通PL与PS的DDR数据通道

本文提供了一份详细的ZYNQ实战指南,手把手教你创建并使用具备AXI4-Full Master接口的自定义IP核,实现PL(可编程逻辑)通过AXI HP接口直接读写PS(处理系统)的DDR内存。文章涵盖了从Vivado硬件设计、IP核配置、地址映射到Vitis软件验证的完整流程,并深入解析了数据一致性(禁用Cache)等关键要点,旨在帮助开发者掌握ZYNQ异构计算中高效数据搬运的核心技术。

weixin_29193359的博客 284

868. 子数组的最大平均值

868.子数组的最大平均值 给定一个由n个整数组成的数组,找到给定长度k的连续子数组,该子数组具有最大平均值。你需要输出最大平均值。 样例 样例1 输入: nums = [1,12,-5,-6,50,3] and k = 4 输出: 12.75 解释: 最大平均为(12-5-6+50)/4 = 51/4 = 12.75 样例2 输入: nums = [4,2,1,3,3] and k = 2 输出: 3.00 解释: 最大平均为(3+3)/2 = 6/2...

时代我西的博客 309

【详细】芯片设计全流程(包括每个流程需要用到的工具以及需要参与的工作人员)

一颗芯片的诞生经历了设计、制造和测试(分别对应集成电路产业链的设计业、制造业和封测业),而每一步都包含了复杂的步骤和流程。 图0-1 集成电路产业链 现在,我们重点介绍芯片设计的全流程以及每个流程需要用到的设计工具和需要参与的工作人员。 一、IC设计分类 首先对IC设计的分类做个介绍,如图1-1所示。 图1-1 IC设计分类 如图1-1所示,IC设计可以粗分为数字IC设计和射频/模拟IC设计,数字IC设计又可分为ASIC设计和FPGA/CPLD设计,此外还有一部分IC设计.

qq_36045093的博客 8万+

Freemarker整合poi导出带有图片的Excel教程

Freemarker整合poi导出带有图片的Excel教程 https://blog.youkuaiyun.com/x541211190/article/details/105675771根据此人博客可完成此功能,但原文中有一处错误需要纠正,当单元格合并时,计算起始单元格有错误。 源代码: /** * 构造合并单元格集合 * * @param createRowIndex: * @param cellRangeAddresses: * @param startIndex: * @param c

weixin_39403349的博客 1004

LeetCode643. 子数组最大平均数 I

给你一个由n个元素组成的整数数组nums和一个整数k。请你找出平均数最大且k的连续子数组,并输出该最大平均数。任何误差小于 10^-5 的答案都将被视为正确答案。12.75最大平均数 (12-5-6+50)/4 = 51/4 = 12.755.00000。

m0_57313444的博客 446

视频帧插学习(三):ema-vfi代码拆解和分析

video interp EMA-VFI

mikhailbran的博客 712

【算法系列】滑动窗口

【算法系列】滑动窗口

秋装什么的博客 518

Bellhop海底地形仿真入门:从MATLAB数据导入到3D可视化(附避坑指南)

本文详细介绍了Bellhop海底地形仿真的完整工作流程,从MATLAB数据导入、清洗与坐标转换,到构建.bty输入文件,再到生成高质量3D可视化结果。文章重点解析了数据格式、深度值正负、单位统一及坐标投影等关键环节的避坑指南,并提供了可复用的代码片段,帮助用户高效完成从原始数据到仿真成果的转换。

weixin_29275257的博客 194

全志A133的AndroidSDK

本小节来学习如何下载全志安卓SDK,SDK的目录,编译和烧录提示:以下是本篇文章正文内容,下面案例可供参考以上就是整个SDK的目录和编译烧录,目的在于让初学者快速了解整个源码的目录和编译出镜像喜欢就订阅吧。

qq_24093081的博客 4056

Leetcode 643:子数组最大平均数I

题目描述: 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 示例 1: 输入: [1,12,-5,-6,50,3], k = 4 输出: 12.75 解释: 最大平均数 (12-5-6+50)/4 = 51/4 = 12.75 注意: 1 <= k <= n <= 30,000。 所给数据范围 [-10,000,10,000]。 ...

Jackshijin的博客 194

(数字图像处理MATLAB+Python)第五章图像增强-第一节:图像增强概述和基于灰度级变换的图像增强

图像增强(Image Enhancement):指不考虑图像降质原因,利用各种数学方法和变换手段,增强图像中人们感兴趣部分或提高有用的图像特征的清晰度。从图像质量来看,图像增强提高了图像的可懂度,改善了图像的视觉效果例如在现实场景中,针对那些对比度较差、视觉效果不好的图像,我们就可以利用图像增强改善视觉质量图像增强可分为如下几种基于灰度级变换的图像增强基于直方图修正的图像增强基于照度反射模型的图像增强基于模糊技术的图像增强基于伪彩色处理的图像增强其他图像增强方法分段线性灰度级变换。

快乐江湖的博客 3334

Leetcode643:子数组最大平均数 I

Java请你找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。给你一个由 n 个元素组成的整数数组 nums 和一个整数 k。

qq_52726736的博客 374

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

LeetCode 643:子数组最大平均数 I

本文详解LeetCode第643题——子数组最大平均数I,这是一道滑动窗口经典入门题。题目要求找出长度为k的连续子数组的最大平均数,本文通过暴力枚举与滑动窗口两种解法对比,深入剖析固定长度窗口的滑动思想,并提供详细Java代码实现。掌握滑动窗口后,可高效解决同类算法问题。

超级苦力怕的博客 565

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

LeetCode:643.最大子数组的平均数 I

题目: 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 示例 1: 输入: [1,12,-5,-6,50,3], k = 4 输出: 12.75 解释: 最大平均数 (12-5-6+50)/4 = 51/4 = 12.75 源码: class Solution { public double findMaxAverage(int[] nums, i...

qq_45239139的博客 166

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

LeetCode:643. 子数组最大平均数 I————简单

题目 643. 子数组最大平均数 I 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 示例: 输入:[1,12,-5,-6,50,3], k = 4 输出:12.75 解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75 提示: 1 <= k <= n <= 30,000。 解题思路1 滑动窗口。 通过窗口的不断滑动来实现筛选的效果。 具体的方法是:res = res - nums[i-1] + nums[i-1+k](就

Kinght_123的博客 545

【Python】【难度:简单】Leetcode 643. 子数组最大平均数 I【完】

给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 示例 1: 输入: [1,12,-5,-6,50,3], k = 4 输出: 12.75 解释: 最大平均数 (12-5-6+50)/4 = 51/4 = 12.75 注意: 1 <= k <= n <= 30,000。 所给数据范围 [-10,000,10,000]。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximum-ave.

thomashhs12的博客 369

leetcode:643. 子数组最大平均数 I

题目描述 leetcode 题目来源 题目解析 滑动窗口 由于规定了子数组的长度为k,因此可以通过寻找子数组的最大元素和的方式寻找子数组的最大平均数,元素和最大的子数组对应的平均和也是最大的。 为了找到子数组的最大元素和,需要对数组中的每个长度为k的子数组分别计算元素和。对于长度为n的数组,当k<=n时,有n - k + 1个长度为k的子数组。如果直接计算每个子数组的元素和,则时间复杂度过高,无法通过全部测试用例,因此需要使用时间复杂度更低的方法计算每个子数组的元素和。 class S

OceanStar的博客 174

Leetcode每日一题:643. 子数组最大平均数 I

目录问题描述思路分析及代码实现 问题描述 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 示例: 输入:[1,12,-5,-6,50,3], k = 4 输出:12.75 解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75 提示: 1 <= k <= n <= 30,000。 所给数据范围 [-10,000,10,000]。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problem

嘤嘤的博客 257

【LeetCode:643. 子数组最大平均数 I + 滑动窗口】

【LeetCode:643. 子数组最大平均数 I + 滑动窗口】给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。 请你找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。 任何误差小于 10-5 的答案都将被视为正确答案。

Coder_ljw的博客 654

LeetCode643:子数组最大平均数 I

给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 示例 1: 输入: [1,12,-5,-6,50,3], k = 4 输出: 12.75 解释: 最大平均数 (12-5-6+50)/4 = 51/4 = 12.75 注意:  1 &lt;= k &lt;= n &lt;= 30,000。 所给数据范围 [-10,000,10,000]。 解析:  ...

qq_36214481的博客 219

leetcode643:子数组最大平均数 I(滑动窗口入门之定长滑动窗口)

本文介绍了滑动窗口算法在解决子数组最大平均数问题中的应用。首先通过暴力解法(时间复杂度O(N²))引出问题,指出其重复计算的缺点。然后引入滑动窗口思想,通过固定长度的窗口在数组上滑动,每次移动只需进行一次加法和减法运算,将时间复杂度优化至O(N)。具体实现步骤包括:初始化第一个窗口的和,滑动窗口更新和,最后计算最大平均数。关键点在于使用双指针维护定长窗口,并注意数据类型防止溢出。该算法具有线性时间复杂度和常数空间复杂度,是解决类似问题的有效方法。

lyh2004_08的博客 699

leetcode:643. 子数组最大平均数 I(滑动窗口)

用滑动窗口详解leetcode:643. 子数组最大平均数 I

2301_76197086的博客 312

Leetcode滑窗系列(java):643. 子数组最大平均数 I

Leetcode滑窗系列(java):643. 子数组最大平均数 I

weixin_43516659的博客 552

leetcode:643. 子数组最大平均数 I(python3解法)

leetcode:643. 子数组最大平均数 I(python3解法)

qq_41905051的博客 301
上一篇: LeetCode:课程表 (1, 2)
下一篇: LeetCode:最长回文子串
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值