笔试题:假设一个楼梯有 N 阶台阶,人每次最多可以跨 M 阶.例如楼梯总共有3个台阶,人每次最多跨2个台阶,也就是说人每次可以走1个,也可以走2个,但最多不会超过2个,那么楼梯总共有这么几种走法:
①:1 1 1
②:1 2
③:2 1
①:1 1 1
②:1 2
③:2 1
现在要求用程序实现计算台阶的所有走法的总数,int climbStairs(int totalSteps, int maxSteps).
int climb(int max,int n)
{
int sumStep=0;
if(n==0)
return 1;
if(n>=max)
{
for(int i=1;i<=max;i++)
{
sumStep+=climb(max,n-i);
}
}
else
sumStep=climb(n,n);
return sumStep;
}
6512

被折叠的 条评论
为什么被折叠?



