leetcode42专题

Leetcode42接雨水(单调栈)

题目 题目链接 解法一 求出前缀最大和后缀最大,用两者较小值减去当前高度,累加即可,这个思路容易想到,这里不赘述 class Solution {public:int trap(vector<int>& height) {vector<int> preMx(height.size()), postMx(height.size());int mx = 0;for (int i = 0; i

LeetCode42题,单调栈、构造法、two pointers,这道Hard题的解法这么多?

本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题的第23篇文章。 今天来看一道很有意思的题,它的难度是Hard,并且有许多种解法。 首先我们来看题面,说是我们有若干个水坝,水坝的宽都是1,但是水坝的高度参差不齐。某一天我们向水坝围起来的部分灌水,一直到灌满为止,请问水坝中存储了多少单位的水?我们可以参考一下下图: 上图当中黑色的部分是水坝,蓝色

LeetCode42.接雨水(单调栈)

题目 给定 n 个非负整数表示每个宽度为 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 个单位的雨水(蓝色部分表示雨水)。 思路: 从题目中我们可以知道:只

LeetCode42. 接雨水问题

LeetCode42. 接雨水问题 LeetCode地址 给定 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 个单位的雨水(蓝色部