有n级台阶,一个人每次上一级或者两级,问有多少种走完n级台阶的方法。为了防止溢出,请将结果Mod 1000000007
给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。
测试样例:
输入:1
返回:1
class GoUpstairs {
public:
int countWays(int n) {
// write code here
if(0 > n) return 0;
if(1 >= n) return 1;
int dp[n+1];
dp[0] = 1; dp[1] = 1;
for(int i=2; i<=n; ++i){
dp[i] = (dp[i-1] + dp[i-2]) % 1000000007;
}
return dp[n];
}
};
网友评论