面试题10.2:跳台阶

作者: 凌霄文强 | 来源:发表于2019-01-04 13:59 被阅读0次

    题目描述

    一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

    知识点

    递归,循环


    Qiang的思路

    这道题和斐波那契数列基本一致,我们考虑青蛙在跳到第i个台阶的时候,在上一时刻,它可能具有两种状态:

    • 位于第i-1个台阶(跳一个台阶)。
    • 位于第i-2个台阶(跳两个台阶)。

    所以我们能够得到这个问题的一个递推公式:

    f(i)=f(i-1)+f(i-2)

    和斐波那契数列一样,考虑到时间复杂度以及空间复杂度的问题,在此,我以循环的方式将其实现。

    # -*- coding:utf-8 -*-
    class Solution:
        def jumpFloor(self, number):
            # write code here
            count=[1,1]
            for i in range(2,number+1):
                count.append(count[i-1]+count[i-2])
            return count[-1]
    

    炒鸡简单。


    作者原创,如需转载及其他问题请邮箱联系:lwqiang_chn@163.com
    个人网站:https://www.myqiang.top

    相关文章

      网友评论

        本文标题:面试题10.2:跳台阶

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