原文:接雨水問題詳解

接雨水這道題目挺有意思,在面試題中出現頻率還挺高的,本文就來步步優化,講解一下這道題。 先看一下題目: 就是用一個數組表示一個條形圖,問你這個條形圖最多能接多少水。 下面就來由淺入深介紹暴力解法 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