Minimum Average Difference LeetCode solution in Java

1
class Solution {
2
public int minimumAverageDifference(int[] nums) {
3
if (nums.length == 1) {
4
return 0;
5
}
6
int idx = -1;
7
long min = Integer.MAX_VALUE;
8
long suml = nums[0];
9
long sumr = 0;
10
for (int i = 1; i < nums.length; i++) {
11
sumr += nums[i];
12
}
13
int i = 1;
14
int calc = 0;
15
int left = 1;
16
int right = nums.length - left;
17
long[] arr = new long[nums.length];
18
while (i < nums.length) {
19
long diff = Math.abs((suml / left) - (sumr / right));
20
arr[calc] = diff;
21
if (diff < min) {
22
min = diff;
23
idx = calc;
24
}
25
suml += nums[i];
26
sumr -= nums[i];
27
left++;
28
right--;
29
calc++;
30
i++;
31
}
32
arr[calc] = suml / nums.length;
33
if (arr[calc] < min) {
34
min = arr[calc];
35
idx = nums.length - 1;
36
}
37
// for(i = 0; i < nums.length; i++){
38
// System.out.println(arr[i]);
39
// }
40
return (int) idx;
41
}
42
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0