在Stairs函数中实现该功能:
一个楼梯有N阶,从下往上走,一步可以走一阶,也可以走两阶,有多少种走法?
(0<n<=30)<>
例如3阶楼梯有3种走法:
1、1、1
1、2
2、1
输入样例:
3
返回值样例:
3
思路:这是最典型的类似斐波那契数列的变型。N阶楼梯,第一步有两种走法,1、走一步,则剩下N-1级 2,走两步,剩下N-2级 所以f(n)=f(n-1)+f(n-2)
public static int ways(int n){ if(n==1) return 1; if(n==2) return 2; return ways(n-1)+ways(n-2); }
时间: 2024-11-05 06:25:14