Minimum Operations to Make a Uni-Value Grid LeetCode solution in C++
1class Solution {2public:3int minOperations(vector<vector<int>> &grid, int x) {4vector<int> nums;5int m = grid.size(), n = grid[0].size();6for (int i = 0; i < m; i++)7for (int j = 0; j < n; j++) nums.push_back(grid[i][j]);8sort(nums.begin(), nums.end());9int target = nums[m * n / 2], ans = 0;10for (int i = m * n - 1; i >= 0; i--) {11if (abs(nums[i] - target) % x != 0)12return -1;13else14ans += abs(nums[i] - target) / x;15}16return ans;17}18};