其他分享
首页 > 其他分享> > 单调栈模板

单调栈模板

作者:互联网

力扣503

class Solution {
public:
    vector<int> nextGreaterElements(vector<int>& nums) {
        int n = nums.size();
        vector<int> ret(n, -1);
        stack<int> stk;
        for (int i = 0; i < n * 2 - 1; i++) {
            while (!stk.empty() && nums[stk.top()] < nums[i % n]) {
                ret[stk.top()] = nums[i % n];
                stk.pop();
            }
            stk.push(i % n);
        }
        return ret;
    }
};

标签:nums,int,top,ret,stk,vector,模板,单调
来源: https://www.cnblogs.com/hitwherznchjy/p/16609605.html