Algorithm

[Leetcode]643. Maximum Average Subarray I

rudgh99_algo 2024. 7. 30. 14:52

1. problem : 

https://leetcode.com/problems/maximum-average-subarray-i/description/?envType=study-plan-v2&envId=leetcode-75

 

2. solution 1 :

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

sliding window 기법을 처음 적용해 봤다. 그다지 효율적인지는 모르겠다.