部落格187 單調棧的使用(二)

2021-10-04 11:13:39 字數 522 閱讀 8849

內容:記錄單調棧的另乙個使用方法

給定乙個迴圈陣列(最後乙個元素的下乙個元素是陣列的第乙個元素),輸出每個元素的下乙個更大元素。

數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該

迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 -

1。示例 1

:輸入:[1

,2,1

]輸出:[2

,-1,

2]解釋: 第乙個 1 的下乙個更大的數是 2;

數字 2 找不到下乙個更大的數;

第二個 1 的下乙個最大的數需要迴圈搜尋,結果也是 2。

題解:class solution

for(

int i =

0;i <

2* len;

++i)

st.push

(index);}

return res;}}

;

單調棧的使用

定義 從棧底元素到棧頂元素呈單調遞增或單調遞減,棧內序列滿足單調性的棧。原理 1 當新元素在單調性上優於棧頂時 單增棧新元素比棧頂大,單減棧新元素比棧頂小 壓棧,棧深 1 2 當新元素在單調性與棧頂相同 新元素於棧頂相同 或劣於棧頂時 單增棧新元素比棧頂小,單減棧新元素比棧頂大 彈棧,棧深 1 注 ...

單調棧演算法 入門 部落格推薦 模板

用法及作用 首先需要明確定義 1.單調遞增的棧,2.單調遞減的棧 單調遞增的棧 從棧頂到棧底是遞增的,每次壓進去的數要小於棧頂元素,輸出也是單調遞增的,主要是解決最大值的區間問題 單調遞減的棧 從棧頂到棧底是遞減的,每次壓進去的數要大於棧頂元素,輸出也是單調遞減的,主要是解決最小值的區間問題 這裡的...

C 單調棧使用總結

相關leetcode題目 496.下乙個更大元素 i 503.下乙個更大元素 ii 556.下乙個更大元素 iii 31.下乙個排列 739.每日溫度 這類題最終要求的結果都是比當前元素更大的下乙個元素的位置 求解思路 就比如上學做操時的排隊,如果你向後望去一馬平川,說明後面沒有比你更高的人,如果後...