【Python】【难度:简单】Leetcode 643. 子数组最大平均数 I【完】

    技术2024-06-15  83

    给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。

    示例 1:

    输入: [1,12,-5,-6,50,3], k = 4 输出: 12.75 解释: 最大平均数 (12-5-6+50)/4 = 51/4 = 12.75  

    注意:

    1 <= k <= n <= 30,000。 所给数据范围 [-10,000,10,000]。

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximum-average-subarray-i 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    思路

    滑动窗口

    class Solution: def findMaxAverage(self, nums: List[int], k: int) -> float: tmp=sum(nums[:k]) res=tmp for i in range(k,len(nums)): tmp=tmp-nums[i-k]+nums[i] res=max(tmp,res) return res/k

    执行结果:

    通过

    显示详情

    执行用时:1048 ms, 在所有 Python3 提交中击败了81.22%的用户

    内存消耗:17.3 MB, 在所有 Python3 提交中击败了10.00%的用户

    Processed: 0.016, SQL: 9