美文网首页
上楼梯问题

上楼梯问题

作者: 正在努力ing | 来源:发表于2018-08-26 16:00 被阅读0次
有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶、3阶。请实现一个方法,计算小孩有多少种上楼的方式。为了防止溢出,请将结果Mod 1000000007
给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。

测试样例:

1
返回:1

把暴力递归变成动态规划

class GoUpstairs:
    """动态规划"""

    def countWays(self, n):
        mat = [1, 1, 2]
        if n<3:
            return mat[2]
        count = 2
        while(count!=n):
            count += 1
            buff = (mat[count-1]+mat[count-2]+mat[count-3])%1000000007
            if buff > 1000000007:
                buff = buff%1000000007
            mat.append(buff)

        return mat[count]

class GoUpstairs:

    """暴力递归"""
    def countWays(self, n):
        if n==1 or n==0:
            return 1
        if n==2:
            return 2
        return self.countWays(n-1)+self.countWays(n-2)+self.countWays(n-3)

相关文章

  • 楼梯上

    我一定是喝酒了我一定是喝醉了那梦怎么会挂在楼梯上 我一定是喝酒了我一定是喝醉了那夜怎么就这么消失了 我的灵魂定是被...

  • 楼梯上

    站在楼梯上 人们匆匆忙忙 向下俯视 向上仰望

  • 楼梯上

    “你让开!”她站在楼梯上面的台阶冲着楼梯下面台阶的他吼。 他没有回答,只是默默地站在一级台阶上,低着头,手插在裤兜...

  • 在楼梯上

    不知道这是一种什么鸟儿,它的一声鸣叫,直直得像一根筋,很是刺耳。 那天,我用一张废旧报纸去擦玻璃的污迹,中间发出过...

  • 上楼梯问题

    有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶、3阶。请实现一个方法,计算小孩有多少种上楼的方式。为...

  • 疏散楼梯、防烟楼梯

    疏散楼梯设置栏杆问题 疏散楼梯在首层直通室外问题 防烟楼梯间的问题: 如果是单纯的防烟楼梯间前室,楼梯间里面加压送...

  • 楼梯上的老人

    文/小彭师傅 01、偶遇 下午三点。 我骑着电瓶车赶着去百货市场,想赶在孩子放学前给她买好学轮滑用的中筒袜。鸟鸣风...

  • 楼梯上的事

    离家还有一层楼的时候,我看着黑漆漆的阶梯,正在找钥匙,突然想起以前有次我和妈妈从外面散步回来,我跟妈妈在猜老爸会不...

  • 楼梯上的黑影

    坐在幽闭的房间内,手脚的颤抖透露出了恐惧,回忆起刚刚的黑影,嘴唇更白了 啪嗒啪嗒,它走近了,啪嗒啪嗒,声音停在了门...

  • 楼梯上的少女

    如同水母一般的柔腻,躲来躲去。在夏风中吹拂,干燥的季节不携一丝流云。可奇怪的是,这楼梯的扶手却是那么的冰凉,有些不...

网友评论

      本文标题:上楼梯问题

      本文链接:https://www.haomeiwen.com/subject/truoiftx.html