卡特兰数(计算顺序进栈的出栈情况)
原题链接:牛客网
原题:
若一序列进栈顺序为e1,e2,e3,e4,e5,问存在多少种可能的出栈序列?
答案为42
该题为组合数学问题,有一段解释我觉得说得很好:
首先,我们设 f(n)=序列个数为n的出栈序列种数。(我们假定,最后出栈的元素为k,显然,k取不同值时的情况是相互独立的,也就是求出每种k最后出栈的情况数后可用加法原则,由于k最后出栈,因此,在k入栈之前,比k小的值均出栈,此处情况有f(k-1)种,而之后比k大的值入栈,且都在k之前出栈,因此有f(n-k)种方式,由于比k小和比k大的值入栈出栈情
原创
2021-10-06 18:22:21 ·
691 阅读 ·
0 评论