题解 | #大雨吃小鱼#

大雨吃小鱼

https://www.nowcoder.com/practice/77199defc4b74b24b8ebf6244e1793de

#include <iostream>
#include <utility>
#include <vector>
#include <stack>
using namespace std;

int main() {
    int m;
    cin>>m;
    vector<int> fash(m, 0);
    for(int i=0; i<m; i++)
    {
        cin>>fash[i];
    }

    stack<pair<int, int>> s;
    pair<int, int> tops;
    int res=0;
    
    for(int i=m-1;i>=0; i--)
    {
        int counts = 0;
        while(!s.empty() && fash[i] > s.top().first)
        {
            tops = s.top();
            s.pop();
            counts = max(counts+1, tops.second);
        }
        s.push({fash[i], counts});
        res = max(res, counts);
    }
    cout<<res<<endl;
    return 0;
}

全部评论

相关推荐

躺尸修仙中:因为很多92的也去卷中小厂,反正投递简历不要钱,面试不要钱,时间冲突就推,不冲突就面试积累经验
点赞 评论 收藏
分享
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务