//斐波那契
class Solution {
public int numWays(int n) {
int a = 1, b = 1;
int sum;
for(int i=0; i<n; i++) {
sum = (a+b) % 1000000007;
a = b;
b = sum;
}
return a;
}
}
class Solution {
public int numWays(int n) {
int a = 1, b = 1, sum;
//递归公式 f(n) = f(n - 1) + f(n - 2);
for(int i = 0; i <n; i++){
sum = (a + b) %1000000007;
a = b;
b = sum;
}
return a;
}
}
class Solution {
public int numWays(int n) {
int a = 1, b = 1, sum;
for(int i = 0; i < n; i++){
sum = (a + b) % 1000000007;
a = b;
b = sum;
}
return a;
}
}
共以下 8 个回答
比较简单
8.10 周四
Day31:下面是代码
本质上也是斐波那契,但注意这里要把取模放在循环里面
class Solution {简单题
public int numWays(int n) {
int dp[]=new int[n+1];
if(n<=1) return 1;
dp[0]=0;
dp[1]=1;
dp[2]=2;
for(int i=3;i<=n;i++)
{
dp[i]=dp[i-1]+dp[i-2];
dp[i]=dp[i]%1000000007;
}
return dp[n];
}
}