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/

相关推荐
cloues break.几秒前
C++进阶----多态
开发语言·c++
我不会编程5558 分钟前
Python Cookbook-6.10 保留对被绑定方法的引用且支持垃圾回收
开发语言·python
考虑考虑15 分钟前
go使用gorilla/websocket实现websocket
后端·程序员·go
এ᭄画画的北北17 分钟前
力扣-234.回文链表
算法·leetcode·链表
道剑剑非道21 分钟前
QT开发技术【qcustomplot 曲线与鼠标十字功能】
开发语言·qt·计算机外设
李少兄26 分钟前
解决Spring Boot多模块自动配置失效问题
java·spring boot·后端
刘婉晴35 分钟前
【环境配置】Mac电脑安装运行R语言教程 2025年
开发语言·macos·r语言
Despacito0o35 分钟前
C++核心编程:类与对象全面解析
开发语言·c++
Tiger Z36 分钟前
R 语言科研绘图第 43 期 --- 桑基图-冲击
开发语言·r语言·贴图
八股文领域大手子1 小时前
深入理解缓存淘汰策略:LRU 与 LFU 算法详解及 Java 实现
java·数据库·算法·缓存·mybatis·哈希算法