动态规划经典----跳台阶

来源:互联网 发布:崩坏3矩阵神格buff 编辑:程序博客网 时间:2024/06/06 03:23

有n级台阶,一个人每次上一级或者两级,问有多少种走完n级台阶的方法。为了防止溢出,请将结果Mod 1000000007

给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。

class GoUpstairs {public:    int countWays(int n) {//第一次走1台阶,剩下n-1阶,第一次走2台阶,剩下n-2阶        int *dp = new int[n+1];//所以状态转移方程为 dp[i] = dp[i-1] +dp[i-2];        dp[0] = dp[1] = 1;        for (int i=2; i<=n; ++i) {            dp[i] = (dp[i-1]+dp[i-2])%1000000007;        }        return dp[n];    }};


0 0
原创粉丝点击