【单调栈】acm题目

来源:互联网 发布:win10 linux bash 编辑:程序博客网 时间:2024/05/29 13:02

题意:给一个数组,返回一个相同尺寸的数组;返回的数组的第i个位置的信息是,对于原数组中的第i个元素,至少向右走多少步,才能遇到一个比自己大的元素(如果之后没有比自己大的元素,或者是最后一个元素,返回 -1).

思路:维护一个单调递减的单调栈,记录的是第i个元素作为最大值的左宽和右宽,若要满足题意,则只需向右走右宽+1步就达到第一个比自己大的元素了;

单调栈记录左宽右宽:http://blog.csdn.net/baidu_35643793/article/details/64440095

原创粉丝点击