leetcode 643. Maximum Average Subarray I(最大平均子数组)

ABAQUS中CDP模型在钢筋混凝土节点低周反复荷载模拟的关键技术解析 本文深入解析了ABAQUS中CDP模型在钢筋混凝土节点低周反复荷载模拟中的关键技术。通过详细介绍CDP模型的核心价值、建模关键技术、滞回曲线优化方法及典型问题排查指南,帮助工程师精准模拟混凝土的拉伸开裂和压缩压碎行为,提升抗震分析效率。文章还提供了实用的工程应用技巧,如快速建模模板和后处理自动化脚本。 阅读详情

Given an array consisting of n integers, find the contiguous subarray of given length k that has the maximum average value. And you need to output the maximum average value.

Example 1:

Input: [1,12,-5,-6,50,3], k = 4
Output: 12.75
Explanation: Maximum average is (12-5-6+50)/4 = 51/4 = 12.75

给出子数组长度k,找出长度为k而且平均值最大的子数组

思路1:
考虑积分数组的思路,就是说每个index处都是0~index这部分的所有元素的和,那么长度为k的子数组的和=积分数组[i] - 积分数组[i-k]
遍历积分数组,找到最大的平均值

//3ms
    public double findMaxAverage(int[] nums, int k) {
        if(nums == null || nums.length < k) {
            return 0;
        }
        
        int n = nums.length;
        double result = 0;
        
        for(int i = 1; i < n; i++) {
            nums[i] += nums[i-1];
        }
        
        result = nums[k-1];
        
        for(int i = k; i < n; i++) {
            result = Math.max(result, nums[i] - nums[i-k]);
        }
        
        return result/k;
    }

思路2:
滑动窗口,和上面思路基本一样,只是不用数组来保存所有的和,而是实时更新
还是每一步都求到目前index为止的元素和,但是数组下标超过k的时候,就要每一步多做一件事,就是把k这么长的滑动窗口范围外(左边)的元素减掉
而且下标到达k-1时,就要实时更新子数组和的最大值

和上面思路的不同之处在于,由于是实时更新最大值,result的初始值要初始化到Integer.MIN_VALUE,
注意不能是Double.MIN_VALUE,因为求和过程中是int类型,double类型会越界,得到意料之外的结果
既然初始化成int,那么返回的时候就要做cast to double

//2ms
    public double findMaxAverage(int[] nums, int k) {
        if(nums == null || nums.length < k || k == 0) {
            return 0;
        }
        
        int n = nums.length;
        int result = Integer.MIN_VALUE;
        int sum = 0;
        
        for(int i = 0; i < n; i++) {            
            if(i >= k) {
                sum -= nums[i-k];
            }
            sum += nums[i];
            if(i+1 >= k) {
                result = Math.max(result, sum);
            }
        }
                
        return result/(double)k;
    }
逆向工程实战:解密AppleAccount的X-MMe-Nas-Qualify签名生成机制 本文通过逆向工程实战,详细解析了AppleAccount服务中X-MMe-Nas-Qualify签名的生成机制。作者利用Frida进行动态追踪定位签名源头,结合IDA Pro进行静态分析,并借助LLDB动态调试还原核心算法。文章最终分享了如何独立于苹果官方库,通过Python代码复现签名算法,为自动化测试和深度交互苹果服务的开发者提供了关键技术路径。 阅读详情

相关推荐

沈阳计算机研究所复试,沈阳计算所复试试题附答案.doc

沈阳计算所复试试题附答案目录数据结构1200612007220085200914操作系统16200616200718200818200919组成原理20200620200720200821200921经典算法22数据结构2006数据结构部分(共25分,第1题10分,第2题15分)在(下图)所示的有向图中:v1 v2v4 ...

weixin_42511053的博客 863

Leetcode之Maximum Average Subarray I

问题描述: Given an array consisting of n integers, find the contiguous subarray of given lengthk that has the maximum average value. And you need to output the maximum average value. 示例: Input: [1,12,-

漫漫学习路 2975

毫米波雷达之CFAR 目标检测

恒虚警率(CFAR)算法是一种广泛应用于雷达目标检测的算法,其主要目 标是减少由于杂波与回波之间强度不对称而引起的误报,以确保相对恒定的虚警 率。如图 3.4(a)所示,表示由距离单元组成的一维数据。在待测单元 D 周围选 择若干个背景杂波功率的蓝色单元构成参考滑窗,称为参考单元;而待测单元 D 相邻的若干个不用于背景估计的单元则称为保护单元。当参考单元和保护单元的 维度从一维扩展到二维时,相应的 CFAR 检测由一维 CFAR 演变为二维 CFAR 以处理参考窗口,如图 3.4 (b)所示。

m0_56120826的博客 4922

maximum average subarray

Given an array with positive and negative numbers, find the maximum average subarray which length should be greater or equal to given length k. ExampleGiven nums = [1, 12, -5, -6, 5...

weixin_30376083的博客 239

保姆级教程:用SOEM主站搞定汇川SV660N伺服驱动器的EtherCAT通讯(附完整C代码)

本文提供了一份详细的SOEM主站与汇川SV660N伺服驱动器EtherCAT通讯的实战教程,涵盖环境搭建、状态机理解、PDO映射配置、CiA402状态机实战、实时性能优化及诊断调试等关键步骤,并附完整C代码示例,帮助开发者快速实现工业级EtherCAT控制。

weixin_28292761的博客 306

富斯遥控器-ros机器人控制

富斯遥控器-ros机器人手柄控制

zkh7758的博客 1703

Maximum Average Subarray II

Given an array with positive and negative numbers, find themaximum average subarraywhich length should be greater or equal to given lengthk. Example Example 1: Input: [1,12,-5,-6,50,3] 3 Output...

leetcode 解题思路 441

RT-Thread stm32h7使用串口DMA

stm32h7在rtthread中无法使用串口DMA,通过更改驱动代码使其支持串口DMA

qq_35141454的博客 2287

算法643. Maximum Average Subarray I

Given an array consisting of n integers, find the contiguous subarray of given length k that has the maximum average value. And you need to output the maximum average value. Example 1:Input: [1,12,-5,-

qq_34307506的博客 464

Python读取Matlab v7.3数据

文章目录Matlab保存数据Python读取 v7.3 Mat Matlab保存数据 在matlab设置中,常规->MAT文件,选择MATLAB版本7.3或更高版本保存数据。 注意保存数据的文件名为 corre.mat,保存的数据数组为data; 后面python的读取中会用到这两个参数 Python读取 v7.3 Mat 先安装hdf5storage库,再使用以下代码,就可以读取到mat中的数据,注意 import hdf5storage import numpy as np dataDi

weixin_43121914的博客 1082

高通拨号流程介绍

本文介绍了高通平台(如SDX55)中APSS(A7处理器)与ModEM(Q6处理器)间的通信机制。

四儿家的小祖宗的博客 1068

Lintcode 617:Maximum Average Subarray

一开始用了最简单的遍历循环法,时间复杂度为O(N^2),然后被提醒超时,上网查了之后做了一个小改动,用一个sum数组存储num[0]到num[i]的总和,这样算num[i]到num[j] 只要算sum[j]-sum[i]就好了。 这个想法的代码如下: class Solution { public: /** * @param nums an array with positi

trash 3766

12、硬件工程师笔试面试——MOS管(2025版本)

在设计和测试过程中,可以参考相关的EMC测试标准和指南,如CE认证EMC电磁兼容测试介绍 和电磁兼容性(EMC)测试方法与整改指南 ,以及电磁兼容(EMC)的标准与测试内容 ,来确保MOSFET的EMC性能符合行业标准。在高频应用中,MOSFET的开关速度对电路的整体性能至关重要。是一款高电压同步N沟道MOSFET驱动器,具有自举电源电压至114V的能力,宽VCC电压范围,自适应贯通保护功能,以及高达1.4A的峰值顶端栅极上拉电流,适用于分布式电源架构、汽车电源、高密度电源模块和电信系统等应用。

XU157303764的博客 7095

LeetCode 643. 子数组最大平均数 I(Maximum Average Subarray I)

643. 子数组最大平均数 I 643. Maximum Average Subarray I 题目描述 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 LeetCode643. Maximum Average Subarray I 示例 1: 输入: [1,12,-5,-6,50,3], k = 4 输出: 12.75 解释: 最大平均数 (12-5-6+50)...

weixin_30315905的博客 236

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

leetcode 643. Maximum Average Subarray I 子数组最大平均数 I

摘要: 题目要求在给定数组中找到长度为k的连续子数组,使其平均数最大。解法采用前缀和思想,先计算累加数组,然后通过固定窗口大小k,计算相邻前缀和的差值得到子数组和,最后取最大值并转换为平均数。时间复杂度O(n),空间复杂度O(n)。示例代码使用C++实现,先处理k=1的特殊情况,再通过遍历累加数组快速求解。 关键词:子数组最大平均数、前缀和、滑动窗口、固定窗口、时间复杂度O(n)

邹九的个人博客 528

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

leetcode 643. Maximum Average Subarray I | 643. 子数组最大平均数 I(Java)

题目 https://leetcode-cn.com/problems/maximum-average-subarray-i/ 题解 滑动窗口解法,示意图: 另外,double 计算比 int 要慢,所以中间记录的值要设成 int 型,最后返回的时候再转换成 double class Solution { public double findMaxAverage(int[] nums, int k) { int maxSum = 0; int curSum = 0

寒泉 5万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

[Swift]LeetCode643. 子数组最大平均数 I | Maximum Average Subarray I

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://www.cnblogs.com/streng...

weixin_30920513的博客 126

leetcode 643. 子数组最大平均数 I(Maximum Average Subarray I)

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

weixin_30703911的博客 97

Leetcode643.Maximum Average Subarray I子数组的最大平均数1

给定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。 所给数据范围 [-...

Ha12312的博客 96

【LeetCode】643. 子数组最大平均数 I Maximum Average Subarray I (Python)

【LeetCode】643. Maximum Average Subarray I 解题报告 标签(空格分隔): LeetCode 题目地址:https://leetcode.com/problems/maximum-average-subarray-i/description/ 题目描述: Given an array consisting of n integers, find

负雪明烛 1871

Leetcode 643.子数组最大平均数 I(Maximum Average Subarray I)

Leetcode 643.子数组最大平均数 I 1 题目描述(Leetcode题目链接)   给定 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]。 2 题解   记录连续k长度的子数组最大和,最后除以

qq_39378221的博客 202

leetcode 643. Maximum Average Subarray I(子数组最大平均数 I)--Java题解

题目描述 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 示例  输入:[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,...

leyao的博客 579

LeetCode——643. 子数组最大平均数 I(Maximum Average Subarray I)——分析及代码(Java)

LeetCode——643. 子数组最大平均数 I[Maximum Average Subarray I]——分析及代码[Java]一、题目二、分析及代码1. 滑动窗口(1)思路(2)代码(3)结果三、其他 一、题目 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 示例: 输入:[1,12,-5,-6,50,3], k = 4 输出:12.75 解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75 提示: 1 <= k <= n &lt

江南土豆的博客 295

LeetCode - 643 - 子数组最大平均数I(maximum-average-subarray-i)

一 目录 不折腾的前端,和咸鱼有什么区别目录一 目录二 前言三 解题及测试四 LeetCode Submit五 解题思路二 前言 难度:简单涉及知识:数组题目地址:https://lee...

weixin_41806099的博客 220

LeetCode 643. Maximum Average Subarray I (最大平均值子数组之一)

Given an array consisting ofnintegers, find the contiguous subarray of given lengthkthat has the maximum average value. And you need to output the maximum average value. Example 1: Input: [1,12,...

weixin_30877755的博客 112
上一篇: leetcode 628. Maximum Product of Three Numbers(三个数的最大乘积)
下一篇: leetcode 661. Image Smoother(图片平滑)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值