개발 로그/알고리즘
leetcode) 807. Max Increase to Keep City Skyline c++
k._.
2021. 9. 20. 16:45
discussion에서 가져온 배울만한 깔끔한 코드.
int maxIncreaseKeepingSkyline(vector<vector<int>>& grid) {
int n = grid.size();
vector<int> col(n, 0), row(n, 0);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
row[i] = max(row[i], grid[i][j]);
col[j] = max(col[j], grid[i][j]);
}
}
int res = 0;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
res += min(row[i], col[j]) - grid[i][j];
return res;
}