有一个X*Y的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数int x,int y,请返回小团的走法数目。
函数原型为:
CountSteps($x,$y)
例如:当$x=1,$y=1,可以画出图如下
得到的结果将是 2 种走法
public function index(){
echo $this->index1(10, 10).'<br>';
$this->index2(10, 10);
}
//非递归
public function index1($x,$y){
for($i = 0; $i <= $x; $i++){
$f[$i][0] = 1;
}
for($i = 0; $i <= $y; $i++ ){
$f[0][$i] = 1;
}
//print_r($f);exit;
for($i = 1; $i <= $x; $i++){
for($j = 1; $j <= $y; $j++){
$f[$i][$j] = $f[$i-1][$j] + $f[$i][$j-1];
}
}
print_r($f[$x][$y]);
}
//递归
public function index2($x,$y){
if($x==0 && $y==0)
return 0;
if ($x == 0 || $y == 0)
return 1;
$total = $this->day20_2($x - 1, $y) + $this->day20_2($x, $y - 1);
return $total;
}
标签:10,走法,int,网格,小团,index1 来源: https://blog.csdn.net/LQZ8888/article/details/90263885
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。