1.简述:
给你一个的矩阵,其中的值均服务器托管网为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水。m x n
示例 1:
输入: heightMap = [[1,4,3,1,3,2],[3,2,1,3,2,4],[2,3,3,2,3,1]]
输出: 4
解释: 下雨后,雨水将会被上图蓝色的方块中。总的接雨水量为1+2+1=4。
示例2:
输入: heightMap = [[3,3,3,3,3],[3,2,2,2,3],[3,2,1,2,3],[3,2,2,2,3],[3,3,3,3,3]]
输出: 10
2.代码实现:
class Solution {
public int trapRainWater(int[][] heightMap) {
if (heightMap.length pq = new PriorityQueue((o1, o2) -> o1[1] - o2[1]);
for (int i = 0; i = 0 &服务器托管网& nx = 0 && ny heightMap[nx][ny]) {
res += curr[1] - heightMap[nx][ny];
}
pq.offer(new int[]{nx * n + ny, Math.max(heightMap[nx][ny], curr[1])});
visit[nx][ny] = true;
}
}
}
return res;
}
}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 初识指针以及一些创建指针变量的常见问题和一些避免使用错误指针的方法
在C语言中,指针是一种变量,用于存储另一个变量的内存地址。指针可以指向任何数据类型的变量,包括基本数据类型(如整型、字符型等)和复合数据类型(如数组、结构体等)。通过指针,我们可以直接访问和修改指向的变量的值,而不需要知道变量的名称。 指针的声明使用星号(*)…