Minimum Operations to Make a Uni-Value Grid LeetCode solution in Java

1
class Solution {
2
public int minOperations(int[][] grid, int x) {
3
int[] arr = new int[grid.length * grid[0].length];
4
int index = 0;
5

6
for (int i = 0; i < grid.length; i++) {
7
for (int j = 0; j < grid[0].length; j++) {
8
arr[index++] = grid[i][j];
9
}
10
}
11

12
Arrays.sort(arr);
13
int median = arr[(arr.length - 1) / 2];
14
int steps = 0;
15

16
for (int num : arr) {
17
if (num == median) {
18
continue;
19
}
20

21
if (Math.abs(num - median) % x != 0) {
22
return -1;
23
}
24

25
steps += (Math.abs(num - median) / x);
26
}
27

28
return steps;
29
}
30
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0