上一篇文章讲了该题的一个解法.后来又发现一个更好的解法. 首先依旧考虑一个升序的数列,例如1,2,3,4,5.那么它的最大矩形显然是有5种可能,即 1*5,2*4,3*3,4*2,1*5.所以最大的矩形为9.那么显然不可能是升序的数列. 依据以下几条规则对其进行处理. 有栈stack和待处理数组a[n] 1.如果stack为空,那么将a[i]入栈. 2.如果a[i]>=stack.peek(),那么将a[i]入栈 3.如果a[i]<stack.peek(),那么stack弹出,直到a[i]&g…