643--子数组最大平均数(滑动窗口)


对于解题思想

  • 对于这样的题目,首先应该先求和,但是对于k个数一起求和,并且要找最大的那个和,这就有难度,首先数据结构没法直接解决,所有有种滑动窗口的思想。

怎么进行滑动窗口

  • 首先应该将前k个先进行求和,其次在数组k的位置开始,往后遍历,每次窗口的大小始终为k,每次最大的数为减去窗口前边的一个,加上窗口后边的一个。

题目

`给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。

请你找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。

任何误差小于 10-5 的答案都将被视为正确答案。
`

解题

public double findMaxAverage(int[] nums, int k) {
    int n=nums.length;
    int max=0;
    for(int i=0;i

相关