楼主:
yam276 ('_')
2025-06-09 16:38:34643. Maximum Average Subarray I
题目:
要你计算 k 长度的子阵列的最大平均值
思路:
普通的 sliding windows 题目
考虑到这是刷题 还是手写
不用 built-in 的 .windows()
这题其实也没很 sliding windows
因为是用一个 sum 来储存而不是真实的子阵列
Code:
impl Solution {
pub fn find_max_average(nums: Vec<i32>, k: i32) -> f64 {
let k_usize = k as usize;
let mut sum: i32 = nums[..k_usize].iter().sum();
let mut max_sum = sum;
for i in k as usize..nums.len() {
sum = sum - nums[i - k_usize] + nums[i];
max_sum = max_sum.max(sum);
}
max_sum as f64 / k as f64
}
}