class Solution {
int[] memory;
public int numWays(int n) {
memory = new int[n+1];
return help(n);
}
public int help(int n) {
// 递归结束的条件
if (n <= 1) {
return 1;
}
// 判断是否计算过了
if (memory[n] != 0) {
return memory[n];
}
// 没有在 memory 中找到就计算一下,然后在记录到 memory 中
int i = help(n - 1) + help(n - 2);
i %= 1000000007;
memory[n] = i;
return memory[n];
}
}·