网站建设必须要备案吗,东莞大岭山观音寺门票多少钱,wordpress 2,模板云网站建设题目
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图#xff0c;计算按此排列的柱子#xff0c;下雨之后能接多少雨水。
示例 1#xff1a;
输入#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出#xff1a;6 解释#xff1a;上面是由数组 [0,1,0,2,1,0,1,3,2…题目
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图计算按此排列的柱子下雨之后能接多少雨水。
示例 1
输入height [0,1,0,2,1,0,1,3,2,1,2,1] 输出6 解释上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图在这种情况下可以接 6 个单位的雨水蓝色部分表示雨水。
解
class Solution {public int trap(int[] height) {int n height.length;int[] leftArr new int[n];int[] rightArr new int[n];leftArr[0] height[0];rightArr[n - 1] height[n - 1];for (int i 1; i n; i) {leftArr[i] Math.max(leftArr[i - 1], height[i]);}for (int i n - 2; i 0; i--) {rightArr[i] Math.max(rightArr[i 1], height[i]);}int result 0;for(int i 0;i n;i){result Math.min(leftArr[i],rightArr[i]) - height[i];}return result;}
}