題目描述
定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。
上面是由陣列 [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
思路分析
接雨水:第一種解法,點此了解
**如下c++
/*
name: 接雨水
author: 德林恩寶
date: 05/10/19 15:17
description: 如**
*/#include
#include
using namespace std;
#define maxsize 1000
stack<
int> stak;
intfunction
(int num,
int n)
stak.
push
( i )
;//入棧
}return sum;
//返回值
}int
main()
執行結果
c++中的stack棧的運用,其實蠻不錯的。
涉及到的各部分函式簡介:
宣告:stack stak;
push() 函式:將 val 值壓棧,使其成為棧頂的第乙個元素;
pop()函式:刪除棧頂元素,但不返回;
top()函式:返回棧頂元素但不刪除;
empty()函式:判斷是否為空;
leetcode42 接雨水 棧實現
public static int trap int height stackstack new stack 對陣列中每乙個元素遍歷 for int i 0 i height.length 1 i 取出的last和左右兩面牆的最低求差 x math.min height stack.peek hei...
leetcode 42 接雨水 單調棧
接雨水 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。上面是由陣列 0,1,0,2,1,0,1,3,2,1,2,1 表示的高度圖,在這種情況下,可以接 6 個單位的雨水 藍色部分表示雨水 感謝 marcos 貢獻此圖。示例 輸入 0,1,0,2,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...