剑指offer跳台阶python

题目描述

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

思路

斐波那契数列的翻版,跳到第n级可以从n-1级跳1步或者从n-2级台阶跳2步。所以第n级台阶的跳法就是第n-1级的跳法+第n-2级的跳法。也就是斐波那契数列第n项等于第n-1项和n-2项的和。

代码

1 # -*- coding:utf-8 -*-
2 class Solution:
3     def jumpFloor(self, number):
4         # write code here
5         ans = [1,1,2,3]
6         while len(ans) <= number:
7             ans.append(ans[-1]+ ans[-2])
8         return ans[number]
原文地址:https://www.cnblogs.com/wangzhihang/p/11790513.html