剑指Offer-Python-跳台阶

题目:

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

思路:变相的斐波那契数列。到达n级台阶只有两种方法,一种是从n-2级台阶跳两步,一种是从n-1级台阶跳一步。所以f(n) = f(n-1) + f(n-2)。

代码

# -*- coding:utf-8 -*-
class Solution:
    def jumpFloor(self, number):
        # write code here
        res = [0]*(number+1)
        res[1] = 1
        res[2] = 2
        if number > 2:
            for i in range(3,number+1):
                res[i] = res[i-1] + res[i-2]
        return res[number]

前方只是个人碎碎念,不建议看。


emmm。。。其实这道题leetcode上5月份刚刷题的时候就做过(查看文章),回顾了一下,当时的代码比起现在要稚嫩多了,emmm。。。有记录到自己的成长,不错。不过要是世界上自私的人少一点(当然人人都是自私的,但是要保持在一个合理的度呀。。。今天遇到了糟心的事),大家心情都会好吧。。。

猜你喜欢

转载自blog.csdn.net/qq_34364995/article/details/81150298