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/

相关推荐
Gopher_HBo几秒前
cpuprof.go开关、缓冲区与记账
后端
H.莓飛35 分钟前
【C++】【STL】vector_OJ题
linux·服务器·开发语言·数据结构·c++·visual studio
Rabitebla36 分钟前
【Linux操作系统】进程篇(十一):进程程序替换——从底层原理到 exec 函数族
linux·服务器·c++·笔记·学习·算法
tellmewhoisi1 小时前
深度学习0:数学知识:正态分布1
人工智能·深度学习·算法
-梅1 小时前
算法(1) 动态规划
算法·动态规划
青少儿编程课堂1 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:Bellman-Ford与SPFA含负权最短路及负环检测全解析
c++·python·算法·bfs·信息学竞赛
文丑颜不良啊2 小时前
LeetCode2061~2080题目解析
java·leetcode
j7~2 小时前
【C++ 八股文】(篇四)C++11 新特性
开发语言·c++·面试·c++11·八股文
eggwyw2 小时前
C++中大括号的用法合集
开发语言·c++
xiaoye-duck2 小时前
《C++ 项目:手写大模型接入 SDK》本地 Ollama 部署与适配
开发语言·网络·c++·语言模型