zoukankan      html  css  js  c++  java
  • 643. 子数组最大平均数 I

     

     代码一思路:遍历nums,每一趟遍历k个元素求和s前,将s清零,不过酱超时。

     1 class Solution(object):
     2     def findMaxAverage(self, nums, k):
     3         """
     4         :type nums: List[int]
     5         :type k: int
     6         :rtype: float
     7         """
     8         res = 0
     9         if len(nums)<=k:
    10             for i in range(len(nums)):
    11                 res += nums[i]
    12             return res/float(k)
    13         i, j = 0, k - 1
    14         while j < len(nums):
    15             s = 0
    16             for index in range(i, j + 1):
    17                 s += nums[index]
    18             if res <= s:
    19                 res = s
    20             i += 1
    21             j += 1
    22         return res / float(k)

    代码二思路:遍历nums,每一趟遍历k个元素求和s时,用“去头加尾”的方法。

     1 class Solution(object):
     2     def findMaxAverage(self, nums, k):
     3         """
     4         :type nums: List[int]
     5         :type k: int
     6         :rtype: float
     7         """
     8         res = sum(nums[:k])
     9         ans = res
    10         for i in range(k, len(nums)):
    11             res = res - nums[i - k] + nums[i]
    12             ans = max(ans, res)
    13         return ans / float(k)
  • 相关阅读:
    [CDQ分治][Treap][树状数组]JZOJ 4419 Hole
    [数论]JZOJ 4421 aplusb
    [LCA]JZOJ 3717 火车
    [数位DP]JZOJ 3363 Number
    user模块User表
    数据库配置
    后台配置
    后台:Django项目创建
    虚拟环境的搭建
    luffy 那点事
  • 原文地址:https://www.cnblogs.com/panweiwei/p/12799865.html
Copyright © 2011-2022 走看看