上楼梯

Posted 修修55

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上楼梯相关的知识,希望对你有一定的参考价值。

题目描述

有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶、3阶。请实现一个方法,计算小孩有多少种上楼的方式。为了防止溢出,请将结果Mod 1000000007

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

测试样例:
1
返回:1
class GoUpstairs {
public:
    int countWays(int n) {
        // write code here
        int a[100000]; 
        for(int i=0;i<=100000;i++) 
            a[i]=0; 
        a[1]=1; 
        a[2]=2; 
        a[3]=4; 
        for(int i=4;i<=n;i++) 
            a[i]=((a[i-1]+a[i-2])%1000000007+a[i-3])%1000000007; 
        return a[n]; 
    }
};

 

以上是关于上楼梯的主要内容,如果未能解决你的问题,请参考以下文章

递归----小白上楼梯

动态规划走楼梯问题

上下楼梯用英语怎么说?

2021-9-4 爆肝一整天,关于2D横板游戏中攀爬楼梯的考虑

上楼梯

洛谷 U3357 C2-走楼梯