单调栈

腾讯2020后端笔试题 逛街单调栈_第1张图片

单调栈_第2张图片

 

#include

using namespace std;

int main(){
    int n;
    while(cin >> n){
        vector s(n);
        for(int i=0;i> s[i];
        stack sta;
        vector left(n);
        vector right(n);
        for(int i=0;i=0;j--){
            right[j] = sta.size();
            while(!sta.empty()&&sta.top()<=s[j])
                sta.pop();
            sta.push(s[j]);
        }
        for(int i=0;i

 

 

你可能感兴趣的:(单调栈)