思路:
注意:题目中说到所有的数都不是负数。利用单调栈来解决这个问题。
每个位置的值作为最小值的情况下,求sum*当前值,走一遍之后答案就出来了。
题外话:一遍子数组的题,都是遍历一遍,在遍历每个元素的时候去尝试,而尝试什么在边。
左边<---i--->右边
单调栈是不允许有重复的。
单调栈:找一个数离它最近的最左比它小的和最右比它小的数是多少。
一个数组求下来,可以达到O(n)
思路:
注意:题目中说到所有的数都不是负数。利用单调栈来解决这个问题。
每个位置的值作为最小值的情况下,求sum*当前值,走一遍之后答案就出来了。
题外话:一遍子数组的题,都是遍历一遍,在遍历每个元素的时候去尝试,而尝试什么在边。
左边<---i--->右边
单调栈是不允许有重复的。
单调栈:找一个数离它最近的最左比它小的和最右比它小的数是多少。
一个数组求下来,可以达到O(n)
相关文章: