775. 全局倒置与局部倒置
为什么这一题不能使用单调栈?
单调栈是很短视的,对于某一个元素i,它只会找到下一个更大的数(next greater number)。考察WA的input[2,0,1], 2的next smaller number是0,那么单调栈就不会找1。然而我们在统计全局倒置的时候,需要找到1。
更糟糕的是,单调栈看到0之后,会把1从栈里删掉,再也找不到1了,所以笔者想不到如何改良单调栈来做本道题。
leetcode的题解写的很好,所以我不讲怎么做了。
775. 全局倒置与局部倒置
为什么这一题不能使用单调栈?
单调栈是很短视的,对于某一个元素i,它只会找到下一个更大的数(next greater number)。考察WA的input[2,0,1], 2的next smaller number是0,那么单调栈就不会找1。然而我们在统计全局倒置的时候,需要找到1。
更糟糕的是,单调栈看到0之后,会把1从栈里删掉,再也找不到1了,所以笔者想不到如何改良单调栈来做本道题。
leetcode的题解写的很好,所以我不讲怎么做了。