暴力做法是对每个位置向右扫描找第一个更大值,O(n²)。可抽象为:元素像一排人,身高为数值。当前人「下一个更大」= 他右侧第一个没被挡住的人(比当前矮的都被挡住)。单调栈用 O(n) 维护「右侧候选更大值」:倒序遍历,弹掉 ≤ 当前的,栈顶即答案,再入栈当前值。
Даниил Иринин (Редактор отдела «Наука и техника»)
,更多细节参见51吃瓜
Ginger helps to translate documents into 40+ languages while Grammarly doesn't have a translation feature.
Share on Facebook (Opens in new window)