2012年10月8日
摘要: 1 <?php 2 #判断输入的括号序列是否合法 3 #解决思路,如果在某一段出现了右括号数比左括号数大,则非法,否则到最后判断左括号和右括号是否相等即可 4 define("LEFT", "("); 5 define("RIGHT", ")"); 6 7 function validate($seq) { 8 $len = strlen($seq); 9 $left = 0;10 $right = 0;11 12 for ($i = 0; $i < $len; $i++) {13 ... 阅读全文
posted @ 2012-10-08 22:34 ZimZz 阅读(1099) 评论(0) 推荐(0) 编辑
摘要: 1 <?php 2 #给定入栈序列,求出栈序列组合总数 3 #这是一个catalan数问题 4 #设共有n个数入栈,将入栈序列和出栈序列写在一起共有2n个数 5 #将第一个入栈的数作为基点,则第一个数肯定是在第2i+1的位置出栈 6 #否则第一个数入栈编号是0,如果是在2i,则在第一个数入栈和出栈之间共有2i-1个数,是奇数 7 #既然是奇数,则说明有数在第一个数出栈之前入栈却没有出栈,矛盾 8 #那么,我们可以找到地推规律,设f(2n)表示n个数的入栈出栈序列总数 9 #则 f(2n) = f(0)f(2n-2) + f(2)... 阅读全文
posted @ 2012-10-08 00:14 ZimZz 阅读(270) 评论(0) 推荐(0) 编辑