---
title: '643. Maximum Average Subarray I'
description: You are given an integer array nums consisting of n elements, and an integer k
icon: dot
topics:
  - { name: "Array", slug: "array" }
  - { name: "Sliding Window", slug: "sliding-window" }
issue: "https://github.com/prdlk/leetcode/issues/55"
sidebar:
  label: 'Maximum Average Subarray I'
  badge: 'Easy'
---

### Example 1:
- Input: `nums = [1,12,-5,-6,50,3], k = 4`
- Output: `12.75000`
- Explanation: Maximum average is `(12 - 5 - 6 + 50`) / `4 = 51 / 4 = 12.75`

### Example 2:
- Input: `nums = [5], k = 1`
- Output: `5.00000`

### Constraints:

- `n == nums.length`
- `1 <= k <= n <= 10^5`
- `-10^4 <= nums[i] <= 10^4`

## Solution

```py
class Solution:
    def findMaxAverage(self, nums: list[int], k: int) -> float:
        window_sum = 0
        for i in range(k):
            window_sum += nums[i]
        largest = window_sum

        for right in range(k, len(nums)):
            left = right - k
            window_sum -= nums[left]
            window_sum += nums[right]
            largest = max(largest, window_sum)

        return largest / k
```
