
【解题思路】
该题可通过递推解决,f(0) = 1, f(1) = 1。当n = 2时,可以在n = 0的情况下跳2级,或者n = 1的情况下跳2级,两种方式来实现,所以f(2) = f(1) + f(0)。依次类推,f(n) = f(n-1) + f(n-2)。
class Solution {
public int numWays(int n) {
if(n == 0) return 1;
int[] ans = new int[n+1];
ans[0] = 1;
ans[1] = 1;
int MOD = 1000000007;
for(int i = 2; i < n+1; i++)
{
ans[i] = (ans[i-1] +ans[i-2]) % MOD;
}
return ans[n];
}
}
这篇博客探讨了如何使用递归解决斐波那契数列问题,展示了具体的Java代码实现。通过递推公式f(n)=f(n-1)+f(n-2),实现了计算给定步数的楼梯跳法数量。代码中使用了动态规划存储中间结果,避免了重复计算,并以模运算处理大数溢出。
256

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



