2021-11-03第八天 接雨水

我们假设初始时矩阵的每个格子都接满了水,且高度均为 \textit{maxHeight}maxHeight,其中 \textit{maxHeight}maxHeight 为矩阵中高度最高的格子。我们知道方块接水后的高度为 \textit{water}[i][j]water[i][j],它的求解公式与方法一样。方块 (i,j)(i,j) 的接水后的高度为:

\textit{water}[i][j] = \max(\textit{heightMap}[i],\min(\textit{water}[i-1][j],\textit{water}[i+1][j],\textit{water}[i][j-1],\textit{water}[i][j+1]))
water[i][j]=max(heightMap[i],min(water[i−1][j],water[i+1][j],water[i][j−1],water[i][j+1]))

我们知道方块 (i,j)(i,j) 实际接水的容量计算公式为 \textit{water}[i][j] - \textit{heightMap}[i][j]water[i][j]−heightMap[i][j]。
我们首先假设每个方块 (i,j)(i,j) 的接水后的高度均为 \textit{water}[i][j] = \textit{maxHeight}water[i][j]=maxHeight,首先我们知道最外层的方块的肯定不能接水,所有的多余的水都会从最外层的方块溢出,我们每次发现当前方块 (i,j)(i,j) 的接水高度 \textit{water}[i][j]water[i][j] 小于与它相邻的 44 个模块的接水高度时,则我们将进行调整接水高度,我们将其相邻的四个方块的接水高度调整与 (i,j)(i,j) 的高度保持一致,我们不断重复的进行调整,直到所有的方块的接水高度不再有调整时即为满足要求。

转 力扣。

上一篇:1888. 使二进制字符串字符交替的最少反转次数


下一篇:LeetCode 一周总结