one line of code at a time
[leetcode] 643. Maximum Average Subarray I 파이썬 코드 본문
sliding window 문제.
https://leetcode.com/problems/maximum-average-subarray-i/
정수 배열 nums가 있다. 여기서 길이가 k인 subarray들 중에서 가장 큰 평균값을 구하는 문제다.
k는 sliding window의 길이라고 생각하면 된다.
class Solution(object):
def findMaxAverage(self, nums, k):
maxAvg = float('-inf')
currSum = 0
for i in range(k):
currSum += nums[i]
maxAvg = currSum / float(k)
# print(maxAvg)
for i in range(1, len(nums) - k + 1):
lp, rp = i-1, i + (k-1)
currSum = currSum - nums[lp] + nums[rp]
maxAvg = max(maxAvg, currSum / float(k))
return maxAvg

'leetcode' 카테고리의 다른 글
| [leetcode] 1493. Longest Subarray of 1's After Deleting One Element 파이썬 코드 (0) | 2024.08.13 |
|---|---|
| [leetcode] 1456. Maximum Number of Vowels in a Substring of Given Length 파이썬 코드 (0) | 2024.08.13 |
| [leetcode] 11. Container With Most Water 파이썬 코드 (0) | 2024.08.12 |
| [leetcode] 151. Reverse Words in a String 파이썬 코드 (0) | 2024.08.12 |
| [leetcode] 345. Reverse Vowels of a String 파이썬 코드 (0) | 2024.08.12 |