变态跳台阶

变态跳台阶

http://www.nowcoder.com/questionTerminal/22243d016f6b47f2a6928b4313c85387

变态跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

分析

级台阶有 种跳法,根据最后一次跳台阶的数目可以分解为最后一次一级,则前面需要跳 级,有 种跳法;最后一次跳两级,则前面需要跳 级,有 种跳法。以此类推 易知,
$$
两式相减得,

# -*- coding:utf-8 -*-
class Solution:
    def jumpFloorII(self, n):
        if n<0:
            return 0
        ans = 1
        for i in range(1,n):
            ans = 2*ans
        return ans
全部评论
好秀啊谢谢博主
点赞
送花
回复
分享
发布于 2020-02-24 20:07
请问时间和空间复杂度是多少呐
点赞
送花
回复
分享
发布于 2020-07-18 17:15
滴滴
校招火热招聘中
官网直投
但是当n=1呢?这个时候你的计算答案为2. 其实只有跳一步,这一种跳法。
点赞
送花
回复
分享
发布于 2020-12-23 11:19

相关推荐

39 收藏 评论
分享
牛客网
牛客企业服务