Leetcode Note: Go - Maximum Average Subarray I
Maximum Average Subarray I - LeetCode
https://leetcode.com/problems/maximum-average-subarray-i/
- Go 言語で取り組んだメモ
所感
- int 配列 nums から k 個の要素を取り出して平均値を計算し、その中で最大値を float64 で return する
回答
Maximum Average Subarray I - LeetCode
https://leetcode.com/problems/maximum-average-subarray-i/solution/
func findMaxAverage(nums []int, k int) float64 {
sum := 0.0
for i := 0; i < k; i++ {
sum += float64(nums[i])
}
res := sum
for i := k; i < len(nums); i++ {
sum += float64(nums[i]) - float64(nums[i-k])
res = math.Max(res, sum)
}
return res/float64(k)
}
- Sliding Window
- k を使ってループを行い、都度最大値を更新して、最終的には最大値を k で除算して return を行う