哪家公司搭建网站,网站网页设计心得,酷特智能服装定制,python做网站是不是特别慢给定 n 个非负整数表示每个宽度为 1 的柱子的高度图#xff0c;计算按此排列的柱子#xff0c;下雨之后能接多少雨水。
上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图#xff0c;在这种情况下#xff0c;可以接 6 个单位的雨水#xff08;蓝色部分表示雨水#…给定 n 个非负整数表示每个宽度为 1 的柱子的高度图计算按此排列的柱子下雨之后能接多少雨水。
上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图在这种情况下可以接 6 个单位的雨水蓝色部分表示雨水。 感谢 Marcos 贡献此图。
示例:
输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 6 public class Solution42 { public static int trap(int[] height) { int n height.length; int j,i; int sum0; int[] MaxLeft new int[n]; int[] MaxRight new int[n]; for(i1;in-1;i) { MaxRight[i]height[i]; for(ji1;jn;j) { MaxRight[i] java.lang.Math.max(height[j], MaxRight[i]); } } for(i1;in;i) { MaxLeft[i]height[i]; for(ji-1;j0;j--) { MaxLeft[i] java.lang.Math.max(height[j], MaxLeft[i]); } } for(i1;in-1;i) { sum java.lang.Math.min(MaxRight[i], MaxLeft[i])-height[i]; } return sum; } public static void main(String[] args) { int[] a {0,1,0,2,1,0,1,3,2,1,2,1}; System.out.println(trap(a)); } }