0
点赞
收藏
分享

微信扫一扫

经典台阶问题

求索大伟 2022-02-18 阅读 51
​
D (1203) : 台阶问题
Submit Page Summary Discussion Time Limit: 1 Sec Memory Limit: 128 Mb Submitted: 21 Solved: 19

Description
有 N 级的台阶,你一开始在底部,每次可以向上迈最多 2 级台阶(最少 1 级),问到达第 N 级台阶有多少种不同方式。

Input
两个正整数N(1 ≤ N ≤ 100000)

Output
一个正整数,为不同方式数

Sample Input
5
Sample Output
8
​
int f( int n ){
    if(n <= 1)
    return n;
    // 先创建一个数组来保存历史数据
    int[] dp = new int[n+1];
    // 给出初始值
    dp[0] = 0;
    dp[1] = 1;
    dp[2] = 2;
    // 通过关系式来计算出 dp[n]
    for(int i = 2; i <= n; i++){
        dp[i] = dp[i-1] + dp[i-2];
    }
    // 把最终结果返回
    return dp[n];
}

 

举报

相关推荐

0 条评论