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

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

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0