递归与循环

2019-07-29  本文已影响0人  微斯人_吾谁与归

题目描述:

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

思路:

类似斐波那契数列。

若跳n个阶梯:

1.第一次跳一步。共有f(n-1)种

2.第一次跳两步.共有f(n-1)种

代码:

`class Solution:

    def jumpFloor(self, number):

        # write code here

        a = 1

        b = 1

        for i in range(number):

            a,b = b,a+b

        return a

题目:

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

思路:

代码:

`import math

class Solution:

    def jumpFloorII(self, number):

        # write code here

        if number <= 0:

            return 0

        else:

            number = number - 1

            return math.pow(2,number)

`

上一篇 下一篇

猜你喜欢

热点阅读