- 使用动态规划的方式,假设共n个台阶,第(n-1)个台阶到n跨1个台阶,第(n-2)个台阶到n跨2个台阶,所以到n阶的方式为到(n-1)的方法数加到(n-2)的方法数
def climbStairs(n: Int): Int = {
val arr = new Array[Int](n + 1)
if(n==1){
return 1
}else if (n>=2){
arr(1) = 1
arr(2) = 2
for (i <- 3 to n) {
arr(i) = arr(i - 1) + arr(i - 2)
}
}
arr(n)
}