<?php /** * 举例: * () * (()) ()() * (())() ((())) ()()() (())() ()(()) */ function combination($n){ $char = '()'; $result = array(''); $k=0; for($i=1; $i<=$n; $i++){ $result = insert($result, $char); } return $result; } function insert($arr, $char){ $result = array(); foreach($arr as $val){ for($i=0; $i<strlen($val)+1; $i++){ $str = substr($val,0,$i).$char.substr($val,$i,strlen($val)-$i); if(!in_array($str, $result)){ $result[] = $str; } } } return $result; } print_r(combination($_GET['n'])); //end
转载请注明:小Y » 卡塔兰数计算n对小括号的有几种呢