题目:
一只青蛙一次可以跳上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。。。有记录到自己的成长,不错。不过要是世界上自私的人少一点(当然人人都是自私的,但是要保持在一个合理的度呀。。。今天遇到了糟心的事),大家心情都会好吧。。。