Minimum Operations to Make a Uni-Value Grid LeetCode solution in JavaScript
1var minOperations = function (grid, x) {2let remainder = -Infinity,3flatten = [],4res = 0;56for (let i = 0; i < grid.length; i++) {7for (let j = 0; j < grid[i].length; j++) {8if (remainder === -Infinity) remainder = grid[i][j] % x;9else if (remainder !== grid[i][j] % x) {10return -1;11}12flatten.push(grid[i][j]);13}14}15flatten.sort((a, b) => a - b);16let median = flatten[~~(flatten.length / 2)];1718for (let i = 0; i < flatten.length; i++) {19res += Math.abs(flatten[i] - median) / x;20}21return res;22};