643. Maximum Average Subarray I
Solution:
- instead of summing up and getting the average every loop, we can replace the ends to calculate the average.
class Solution:
def findMaxAverage(self, nums: List[int], k: int) -> float:
ret = float("-inf")
s = 0
for i in range(0, k):
s += nums[i]
ret = s / k
for i in range(0, len(nums) - k):
s -= nums[i]
s += nums[i + k]
avg = s / k
if avg > ret:
ret = avg
return ret