Skip to content

Commit a762106

Browse files
committed
2256. Minimum Average Difference
1 parent 9bd5c0e commit a762106

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

Minimum Average Difference/kata.go

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy