Rust 力扣 - 643. 子数组最大平均数 I

文章目录

题目描述

题解思路

我们遍历长度为k的窗口,我们只需要记录窗口内的最大和即可,遍历过程中刷新最大值

结果为窗口长度为k的最大和 除以 k

题解代码

rust 复制代码
impl Solution {
    pub fn find_max_average(nums: Vec<i32>, k: i32) -> f64 {
        let mut sum = 0;

        // 填满长度为k的窗口
        for i in 0..k as usize {
            sum += nums[i];
        }

        let mut max_sum = sum;

        // 移动窗口,并记录最大的窗口和
        for i in k as usize..nums.len() {
            sum += nums[i] - nums[i - k as usize];
            max_sum = max_sum.max(sum);
        }

        max_sum as f64 / k as f64
    }
}

题目链接

https://leetcode.cn/problems/maximum-average-subarray-i/description/

相关推荐
纪元A梦1 小时前
贪心算法应用:化工反应器调度问题详解
算法·贪心算法
深圳市快瞳科技有限公司2 小时前
小场景大市场:猫狗识别算法在宠物智能设备中的应用
算法·计算机视觉·宠物
liulilittle2 小时前
OPENPPP2 —— IP标准校验和算法深度剖析:从原理到SSE2优化实现
网络·c++·网络协议·tcp/ip·算法·ip·通信
superlls5 小时前
(算法 哈希表)【LeetCode 349】两个数组的交集 思路笔记自留
java·数据结构·算法
honder试试5 小时前
焊接自动化测试平台图像处理分析-模型训练推理
开发语言·python
^Rocky5 小时前
JavaScript性能优化实战
开发语言·javascript·性能优化
田里的水稻5 小时前
C++_队列编码实例,从末端添加对象,同时把头部的对象剔除掉,中的队列长度为设置长度NUM_OBJ
java·c++·算法
纪元A梦5 小时前
贪心算法应用:保险理赔调度问题详解
算法·贪心算法
ponnylv5 小时前
深入剖析Spring Boot启动流程
java·开发语言·spring boot·spring
萧邀人5 小时前
第一课、Cocos Creator 3.8 安装与配置
开发语言