原文:接雨水问题详解

接雨水这道题目挺有意思,在面试题中出现频率还挺高的,本文就来步步优化,讲解一下这道题。 先看一下题目: 就是用一个数组表示一个条形图,问你这个条形图最多能接多少水。 下面就来由浅入深介绍暴力解法 gt 备忘录解法 gt 双指针解法,在 O N 时间 O 空间内解决这个问题。 一 核心思路 我第一次看到这个问题,无计可施,完全没有思路,相信很多朋友跟我一样。所以对于这种问题,我们不要想整体,而应该去 ...

2020-02-17 11:17 0 1321 推荐指数:

查看详情

LeetCode——雨水问题

Q:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 示例: 输入 ...

Mon Mar 30 18:33:00 CST 2020 0 838
LeetCode(42.雨水)多解法详解

雨水解法详解: 题目: 基本思路:从图上可以看出要想接住雨水,必须是凹字形的,也就是当前位置的左右两边必须存在高度大于它的地方,所以我们要想知道当前位置最多能存储多少水,只需找到左边最高处max_left和右边最高处max_right,取他们两个较小的那边计算即可(短板效应)。 其实接下 ...

Mon Apr 06 21:34:00 CST 2020 0 1034
lintcode:雨水

雨水 给出 n 个非负整数,代表一张X轴上每个区域宽度为 1 的海拔图, 计算这个海拔图最多能接住多少(面积)雨水。 如上图所示,海拔分别为 [0,1,0,2,1,0,1,3,2,1,2,1], 返回 6. 解题 先遍历一遍找到最高点,然后分别从两边开始,往最高点所在位置遍历 ...

Wed Mar 16 08:56:00 CST 2016 0 1629
LeetCode(42):雨水

Hard! 题目描述: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos ...

Tue Jun 05 19:24:00 CST 2018 0 825
LeetCode ——42. 雨水

解题思路:   储水量由最小的一边决定,我们可以先从左右两边同时遍历,得到最大值,然后分两种情况处理:   1.只有一个最大值(假设位置为i):    这样就从左向i遍历,不断更新左边 ...

Tue Jul 03 06:34:00 CST 2018 0 1096
leetcode 42.雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 示例: ...

Wed Apr 18 07:09:00 CST 2018 0 2411
*42. Trapping Rain Water 雨水

1. 原始题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献 ...

Mon Apr 29 21:12:00 CST 2019 0 794
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM