快轉到主要內容
  1. LeetCode/

LeetCode 643: Maximum Average Subarray I

·1 分鐘· ·
LeetCode Daily Easy Sliding-Window
Wei Yi Chung
作者
Wei Yi Chung
Working at the contributing of open source, distributed systems, and data engineering.
目錄

基本資料
#

難易度: easy 第一次嘗試: 2025-08-02

  • 總花費時間:00:00.00

解題思路
#

這是一個固定窗口大小的滑動窗口問題。根據題目要求,我們需要找到子數組的最大平均值。我們可以將其理解為找到子數組的最大和,然後除以窗口大小得到平均值。因此,目標可以簡化為最大子數組和問題。

解法
#

class Solution:
    def findMaxAverage(self, nums: List[int], k: int) -> float:
        max_sum = 0
        for i in range(k):
            max_sum += nums[i]

        sum_now = max_sum
        for i in range(k, len(nums)):
            sum_now += nums[i]
            sum_now -= nums[i - k]

            max_sum = max(max_sum, sum_now)

        return max_sum / k

收穫
#

這是一個固定窗口問題。我們可以先累積第一個窗口,然後滑動窗口直到結束。

遇到的問題
#

相關文章

LeetCode 1343: Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold
·1 分鐘
LeetCode Daily Medium Array Sliding-Window Prefix-Sum Average-Calculation
LeetCode 解題紀錄 - 固定大小滑動窗口與總和計算
LeetCode 2090: K Radius Subarray Averages
·1 分鐘
LeetCode Daily Medium Sliding-Window
LeetCode 解題紀錄
LeetCode 3: Longest Substring Without Repeating Characters
·1 分鐘
LeetCode Daily Medium Sliding-Window Hash-Map
LeetCode 解題紀錄
LeetCode 438: Find All Anagrams in a String
·2 分鐘
LeetCode Daily Medium String Sliding-Window Hash-Map Anagram Frequency-Counting
LeetCode 解題紀錄 - 使用字符頻率的滑動窗口
LeetCode 567: Permutation in String
·2 分鐘
LeetCode Daily Medium String Sliding-Window Hash-Map Frequency-Counting Permutation
LeetCode 解題紀錄 - 使用字符頻率的滑動窗口
LeetCode 713: Subarray Product Less Than K
·1 分鐘
LeetCode Daily Medium Sliding-Window
LeetCode 解題紀錄