643. Maximum Average Subarray I

Ref: https://leetcode-cn.com/problems/maximum-average-subarray-i/

这道题思路比较清晰,滑动窗口,维持窗口的sum,每次减去滑动前第一个元素,加上滑动后最后一个元素,代码实现如下:

class Solution:
   def findMaxAverage(self, nums: List[int], k: int) -> float:

       m_sum = sum(nums[:k])
       result = m_sum
       for i, j in zip(nums[:-k], nums[k:]):
           m_sum -= i
           m_sum += j
           if m_sum > result:
               result = m_sum
       return result / k
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容