(劍指offer)面試題42 接雨水

2021-10-08 04:13:17 字數 495 閱讀 8900

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

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

對於陣列中的每個元素,我們找到的下雨後水能達到的最大高度等於兩邊最大高度的較小值減去當前值。

public

inttrap

(int

height)

for(

int k=i;k

) result += math.

min(maxl,maxr)

- height[i];}

return result;

}

劍指Offer 面試題42 反轉單詞順序

反轉單詞順序 輸入乙個英文句子,反轉句子中單詞的順序,但單詞內字元的順序不變,為了簡單起見,標點符號和普通字母 一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 思路 首先將整個字串完全反轉,然後對單個單詞利用空格做切分後反轉 輸入 每個測試案例為一行,表示...

《劍指offer》面試題42 翻轉單詞順序列

牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,student.a am i 後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是 i am a student....

劍指offer面試題7

面試題7 用兩個棧實現佇列 using namespace std template class cqueue 預備知識 佇列 佇列也是一種常見的資料結構 特點是先進先出 fifo 在stl中有stack和queue兩個容器 template class stack 成員函式 empty size ...