算法题,求台阶问题
有n阶楼梯,你每次只能爬1或2阶楼梯,能有多少种方法!
记到达第n级的总数为sum(n),那么sum(n)=?就是我们要求的
分析:
假设现在已经到达了第n级,哪上一次只能从第n-1或者第n-2级上来的因为每次只能爬1 或2 级,那么
sum(n) = sum(n-1)+ sum(n-2)
sum(n-1) = sum(n-2)+ sum(n-3)
sum(n-2) = sum(n-3)+ sum(n-4)
…
sum(3) = sum(1)+ sum(2)
sum(2)=2
sum(1)=1
def getSum(n:Int):Int={
if(n==2){
2
}else if(n ==1){
1
}else{
getSum(n-1)+getSum(n-2)
}
}