classSolution{publicinttrap(int[] height){
Stack<Integer> stack =newStack<>();int res =0;for(int i=0; i<height.length; i++){while(!stack.isEmpty()&& height[stack.peek()]< height[i]){int cur = stack.pop();if(stack.isEmpty())break;int l = stack.peek();int r = i;int h = Math.min(height[l], height[r])- height[cur];
res +=(r-l-1)*h;}
stack.push(i);}return res;}}