出栈序列的统计

有n个数1,2,3,...,n依次进栈,问说出栈的种类数,方法

一直就想不明白怎么获得的递推式f(n)=f(0)*f(n-1)+f(1)*f(n-2)+...+f(n-1)*f(0),

同时还有一个问题,就是check一个序列是不是一个合法的出栈序列,

固然最简单的方法就是用一个栈去模拟,然而须要占用O(n)的空间,

这里有没有O(1)空间的方法来check呢,

最后须要作的check貌似就是查找是否存在i<j<k使得aj<ak<ai,

想了很久仍是没想到方法,

有谁知道的能够告诉我哈。

相关文章
相关标签/搜索