數字右邊第一個大於它的數(單調棧)
維護一個單調遞減的棧,在新數字壓棧前,可能需要彈出舊數字,這個新數字就是彈出的舊數字右邊第一個比他大的數字。
程式碼:
vector<int> func(vector<int>& v){
vector<int> res(v.size(), -1);
stack<int> st;
st.push(0);
for(int i = 1; i < len; i++){
while(!st.empty() && v[i] > v[st.top()]){
res[st.top()] = v[i];
st.pop();
}
st.push(i);
}
return res;
}
相關文章
- lgP5788 陣列中尋找右側第一個大於它的數陣列
- [JSOI2008] 最大數 (單調棧)JS
- Leetcode321. 拼接最大數——單調棧的使用LeetCode
- 【LeetCode】738. 單調遞增的數字LeetCode
- 陣列左邊減去右邊數值的最大差值陣列
- 電腦鍵盤數字打不出來怎麼辦 win10右邊數字鍵盤不能用Win10
- 輸入一個非負整數,返回組成它的數字之和
- 力扣-738. 單調遞增的數字力扣
- 輸出符合範圍內的水仙花數:一個三位數,它的各位數字的立方和等於其本身
- win10右鍵選單出現左邊如何恢復到右邊_win10右鍵選單在左邊怎麼改回右邊Win10
- 單調遞增的數
- DSB的數字正交解調
- 單調棧/單調佇列佇列
- 將一個整數逆序輸出·正序輸出它的每一位數字
- 單調棧 和 單調佇列佇列
- 單調棧和單調佇列佇列
- 單調棧模板
- Codeforces #123D: 字尾陣列+單調棧3D陣列
- 面試題解:輸入一個數A,找到大於A的一個最小數B,且B中不存在連續相等的兩個數字面試題
- LeetCode - 1365 - 有多少小於當前數字的數字LeetCode
- 數字索引賦值給多個變數簡單表示式索引賦值變數
- 淺談單調棧
- LeetCode1365有多少小於當前數字的數字LeetCode
- jquery金額數字轉為大寫數字jQuery
- 基於大資料模型的數字孿生建模方法大資料模型
- 統計輸入的數字為正數和負數的個數
- 1102:與指定數字相同的數的個數(C C++)C++
- [Leetcode]315.計算右側小於當前元素的個數 (6種方法)LeetCode
- 數字影象處理-第一節
- 左邊敲打IDE!右邊出現了一個世界!!!IDE
- 數字廣東:廣東省「一號工程」的第一個500天
- Leetcode 刷題 ------1365.有多少小於當前數字的數字LeetCode
- 移除K個數字
- 輸入一個三位數,輸出它各個數位之和
- excel統計大於15小於20的數並求和 統計區間個數的函式Excel函式
- 查詢陣列中出現次數大於陣列長度一半的數字陣列
- 大話數字簽名
- 簡單的數字驗證碼破解