-
发表于 2024.05.09
-
通过观察得知,若需要保持四个方向的天际线不变,本质就是保持每行每列的最大值不变。因此,对于第
i
行第j
列的建筑,其可以将高度扩展到第i
行最大值和第j
列最大值两者的最小值。class Solution: def maxIncreaseKeepingSkyline(self, grid: List[List[int]]) -> int: n = len(grid) row_max = [max(row) for row in grid] col_max = [max(grid[i][j] for i in range(n)) for j in range(n)] ans = 0 for i in range(n): for j in range(n): ans += min(row_max[i], col_max[j]) - grid[i][j] return ans
- LC 题目链接
-