內容:記錄單調棧的另乙個使用方法
給定乙個迴圈陣列(最後乙個元素的下乙個元素是陣列的第乙個元素),輸出每個元素的下乙個更大元素。
數字 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.每日溫度 這類題最終要求的結果都是比當前元素更大的下乙個元素的位置 求解思路 就比如上學做操時的排隊,如果你向後望去一馬平川,說明後面沒有比你更高的人,如果後...