LeetCode題解 42 接雨水

2021-09-27 07:49:25 字數 728 閱讀 4614

給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。

上面是由陣列 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度圖,在這種情況下,可以接 6 個單位的雨水(藍色部分表示雨水)。 感謝 marcos 貢獻此圖。

示例:輸入: [0,1,0,2,1,0,1,3,2,1,2,1]

輸出: 6

class solution 

int len = height.length;

int left = new int[len];//每個結點左側當前最高

int right = new int[len];//每個結點右側當前最高

left[0] = height[0];

right[len-1] = height[len-1];//與left第乙個結點 只作為判斷索引,不計入最終總和

for(int i=1 ; ileft[i-1]? height[i]:left[i-1];

int cur_right = len-1-i;//當前右側陣列遍歷位置

right[cur_right] = height[cur_right]>right[cur_right+1]?height[cur_right]:right[cur_right+1];

}int ret = 0;

for(int i=1 ; ireturn ret;

}}

LeetCode日記 42 接雨水

接雨水 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。上面是由陣列 0,1,0,2,1,0,1,3,2,1,2,1 表示的高度圖,在這種情況下,可以接 6 個單位的雨水 藍色部分表示雨水 感謝 marcos 貢獻此圖。示例 class soluti...

leetcode題 42 接雨水(困難)

給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。上面是由陣列 0,1,0,2,1,0,1,3,2,1,2,1 表示的高度圖,在這種情況下,可以接 6 個單位的雨水 藍色部分表示雨水 感謝 marcos 貢獻此圖。示例 輸入 0,1,0,2,1,0,1...

LeetCode 42 接雨水 困難

給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。上面是由陣列 0,1,0,2,1,0,1,3,2,1,2,1 表示的高度圖,在這種情況下,可以接 6 個單位的雨水 藍色部分表示雨水 感謝 marcos 貢獻此圖。示例 輸入 0,1,0,2,1,0,1...