码迷,mamicode.com
首页 > 其他好文 > 详细

剑指offer-斐波那契数列

时间:2018-05-19 16:55:14      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:offer   ret   两种   多少   while   条件   斐波那契   solution   def   

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。

n<=39

 

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

对于第n个台阶来说,只能从n-1或者n-2的台阶跳上来,所以
F(n) = F(n-1) + F(n-2)
斐波拉契数序列,初始条件
n=1:只能一种方法
n=2:两种
#动态规划版
class Solution:
    def Fibonacci(self, n):
        # write code here
        if n == 0:
            return 0
        preInt = 1
        postInt = 1
        i = 2
        while i < n:
            preInt = preInt + postInt
            postInt = preInt - postInt
            i += 1
        return preInt
# 递归版
def Fibonacci(n):
    if n == 0:
        return 0
    if n == 1 or n == 2:
        return 1
    return Fibonacci(n-1)+Fibonacci(n-2)

 

剑指offer-斐波那契数列

标签:offer   ret   两种   多少   while   条件   斐波那契   solution   def   

原文地址:https://www.cnblogs.com/laumians-notes/p/9060551.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!