42 接雨水 雙指標

2021-09-30 00:04:57 字數 688 閱讀 7352

對於乙個較低的坑來說,其儲水量高度取決於左側最高柱與右側最高柱的較小高度

可以用兩個指標,分別從左右兩邊往中間逼近,左側或者右側的儲水量只取決於當前一側的高度差

if

len(height)==0

:return

0left,right =0,

len(height)-1

left_max, right_max = height[left]

, height[right]r=0

while left < right:

if height[left]

<= height[right]

:if height[left]

> left_max:

left_max = height[left]

else

: r += left_max - height[left]

left +=

1else

:if height[right]

> right_max:

right_max = height[right]

else

: r += right_max - height[right]

right -=

1return r

LeetCode 42 接雨水 雙指標

主要方法 雙指標 正反遍歷 解釋說明 1.正向遍歷 先確定池子左牆初始化為第乙個bar,從第 2 個 bar 開始遍歷右牆,同時記錄中間的 bar 高度和,當右牆大於等於左牆的時候就有第一灘積水了,左右牆距離 左牆高度 中間 bar 和 就是這灘積水的體積,同時將右牆認定為下乙個左牆,同時重新記錄b...

Leetcode42 接雨水 雙指標法

本題是這樣的 42.接雨水 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。題目給出的一眼就能了然題目要問的是什麼。很明顯,某一列能裝多少水,取決於該列左側和右側的高度的最小值。最無腦的做法就是,對每一列求其左右的最大值,也就是用額外的兩個o n 大...

雙指標遍歷 滑動視窗 42 接雨水

6.42 接雨水 上面是由陣列 0,1,0,2,1,0,1,3,2,1,2,1 表示的高度圖,在這種情況下,可以接 6 個單位的雨水 藍色部分表示雨水 暴力解,o n o 1 class solution for int j i j size j ans math.min leftmax,right...