Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - C++ - 3567. Minimum Absolute Difference in Sliding Submatrix
參考資訊:
https://algo.monster/liteproblems/3567
題目:

解答:
class Solution {
public:
vector<vector<int>> minAbsDiff(vector<vector<int>>& grid, int k) {
int row_size = grid.size();
int col_size = grid[0].size();
vector<vector<int>> ret((row_size - k) + 1, vector<int>((col_size - k) + 1, 0));
for (int i = 0; i <= row_size - k; ++i) {
for (int j = 0; j <= col_size - k; ++j) {
vector<int> q;
for (int ro = i; ro < (i + k); ++ro) {
for (int cl = j; cl < (j + k); ++cl) {
q.push_back(grid[ro][cl]);
}
}
sort(q.begin(), q.end());
int m = INT_MAX;
for (int c = 1; c < q.size(); c++) {
int v = abs(q[c] - q[c - 1]);
if (v > 0) {
m = min(m, v);
}
}
ret[i][j] = (m == INT_MAX) ? 0 : m;
}
}
return ret;
}
};