1. 程式人生 > >643. Maximum Average Subarray I 最大子陣列平均數

643. Maximum Average Subarray I 最大子陣列平均數

bject ble height r12 for over xpl example padding

Given an array consisting of n integers, find the contiguous subarray of given length k that has the maximum average value. And you need to output the maximum average value.

Example 1:

Input: [1,12,-5,-6,50,3], k = 4Output: 12.75Explanation: Maximum average is (12-5-6+50)/4 = 51/4 = 12.75


Note:

  1. 1 <= k <= n

    <= 30,000.

  2. Elements of the given array will be in the range [-10,000, 10,000].

題意:求一個數組的最大子陣列平均數

思路:運用動態規劃,找出和最大,長度為k的子陣列

12345678910111213141516171819class Solution(object): def findMaxAverage(self, nums, k): """ :type nums: List[int] :type k: int :rtype: float """
sum = 0 curSum = 0 addNum = 0 for i in range(0, len(nums)): if addNum < k: curSum += nums[i] sum = curSum addNum += 1 else: curSum = curSum - nums[i - k] + nums[i] sum = max(sum, curSum)
return sum * 1.0 / k


null

643. Maximum Average Subarray I 最大子陣列平均數