单调栈(求数组中每个数的下一个比它大的数)
单调栈
1. 单调递增栈
数组每个位置i存nums[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);
}
东方欲晓,莫道君行早。

浙公网安备 33010602011771号