单调栈(求数组中每个数的下一个比它大的数)

单调栈

1. 单调递增栈

数组每个位置inums[i]的下一个比它大的数,如果没有,则 nums[i] = -1

    stack<int> S;
    int temp;
    for (int i = n - 1; i >= 0; i--) {
        while (!S.empty() && nums[i] >= S.top()) {
            S.pop();
        }
        temp = nums[i];
        nums[i] = S.empty() ? -1 : S.top();
        S.push(temp);
    }
posted @ 2022-05-14 07:40  番茄元  阅读(31)  评论(0)    收藏  举报