快轉到主要內容
  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 2090: K Radius Subarray Averages
·1 分鐘
LeetCode Daily Medium Sliding Window
LeetCode 解題紀錄
LeetCode 1399: Count Largest Group
·1 分鐘
LeetCode Daily Easy
LeetCode 解題紀錄
LeetCode 2325: Decode the Message
·1 分鐘
LeetCode Daily Easy
LeetCode 解題紀錄
LeetCode 724: Find Pivot Index
·1 分鐘
LeetCode Daily Easy Prefix Sum
LeetCode 解題紀錄
LeetCode 1534: Count Good Triplets
·2 分鐘
LeetCode Daily Easy Prefix Sum
LeetCode 解題紀錄
LeetCode 2843: Count Symmetric Integers
·1 分鐘
LeetCode Daily Easy Digit DP
LeetCode 解題紀錄