> For the complete documentation index, see [llms.txt](https://timmybeeflin.gitbook.io/cracking-leetcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://timmybeeflin.gitbook.io/cracking-leetcode/two-pointer/643.-maximum-average-subarray-i.md).

# 643. Maximum Average Subarray I

![](/files/-MhTMCm6lOFnydwdU0z6)

sliding window

time: O(n)

space: O(1)

```java
class Solution {
    public double findMaxAverage(int[] nums, int k) {
        // sliding window, find the maximum sum
        double sum = 0;
        for (int i = 0; i < k; i++) {
            sum += nums[i];
        }
        double res = sum;
        for (int i = k; i < nums.length; i++) {
            sum += nums[i] - nums[i-k];
            res = Math.max(res, sum);
        }
        return res/k;
    }
}
```
