educative.io

Educative

Code: golang example

link: https://play.golang.org/p/XS9sBvENf2Y

package main

import "fmt"

func main() {
	result := find_averages_of_subarrays(5, []float64{1, 3, 2, 6, -1, 4, 1, 8, 2})
	fmt.Printf("Averages of subarrays of size K: %v", result)
}

func find_averages_of_subarrays(K int, arr []float64) []float64 {
	var result []float64

	sum, start := 0.0, 0

	for end := range arr {
		sum += arr[end]

		if end < K-1 {
			continue
		}

		result = append(result, sum/float64(K))
		sum -= arr[start]
		start += 1
	}

	return result
}