We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 9bd5c0e commit a762106Copy full SHA for a762106
Minimum Average Difference/kata.go
@@ -0,0 +1,41 @@
1
+package kata
2
+
3
+func minimumAverageDifference(nums []int) int {
4
+ var sum int
5
+ var count int
6
+ for _, num := range nums {
7
+ sum += num
8
+ count++
9
+ }
10
11
+ var prefixSum int
12
+ suffixSum := sum
13
+ suffixCount := count
14
+ var min = -1
15
+ var idx = 0
16
+ for i, num := range nums {
17
+ suffixSum = suffixSum - num
18
+ suffixCount--
19
+ prefixSum += num
20
21
+ var a int
22
+ if suffixSum != 0 {
23
+ a = (suffixSum / suffixCount)
24
25
26
+ v := abs((prefixSum / (i + 1)) - a)
27
+ if min == -1 || v < min {
28
+ min = v
29
+ idx = i
30
31
32
33
+ return idx
34
+}
35
36
+func abs(a int) int {
37
+ if a < 0 {
38
+ return -a
39
40
+ return a
41
0 commit comments