Minimum Operations to Make a Uni-Value Grid LeetCode solution in Java
1class Solution {2public int minOperations(int[][] grid, int x) {3int[] arr = new int[grid.length * grid[0].length];4int index = 0;56for (int i = 0; i < grid.length; i++) {7for (int j = 0; j < grid[0].length; j++) {8arr[index++] = grid[i][j];9}10}1112Arrays.sort(arr);13int median = arr[(arr.length - 1) / 2];14int steps = 0;1516for (int num : arr) {17if (num == median) {18continue;19}2021if (Math.abs(num - median) % x != 0) {22return -1;23}2425steps += (Math.abs(num - median) / x);26}2728return steps;29}30}