4.1 斐波那契系列问题的递归和动态规划

Posted latup

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.1 斐波那契系列问题的递归和动态规划相关的知识,希望对你有一定的参考价值。

题目】:

  给定整数N,返回斐波那契数列的第N项

补充题目1】:

  给定整数N,代表台阶数,一次可以跨2个或者1个台阶,返回有多少种走法

  举例:

    N=3,可以三次都跨1个台阶;也可以先跨2个台阶,再跨1个台阶;还可以先跨1个台阶,再跨2个台阶。所以有三种走法,返回3

补充题目2】:

  假设农场中成熟的母牛每年只会生1头小母牛,并且永远不会死。第一年农场有1只成熟的母牛,从第二年开始,母牛开始生小母牛。每只小母牛3年之后成熟又可以生小母牛。给定整数N,求出N年后牛的数量

  举例:

    N=6, 第1年1头成熟母牛记为a;第2年a生了新的小母牛,记为b,总牛数为2;第3年a生了新的小母牛,记为c,总牛数为3;第4年a生了新的小母牛,记为d,总牛数为4。第5年b成熟了,a和b分别生了新的小母牛,总牛数为6;第6年c也成熟了,a、b和c分别生了新的小母牛,总牛数为9,返回9

 

要求】:

  对以上所有的问题,请实现时间复杂度O(logN)的解法

 

题目及思路来源:左程云老师《程序员代码面试指南》

以上是关于4.1 斐波那契系列问题的递归和动态规划的主要内容,如果未能解决你的问题,请参考以下文章

动态规划(斐波那契系列)---爬楼梯

算法动态规划 - 斐波那契数

动态规划使用斐波那契数列引入了动态规划的概念

斐波那契数列的实现(简单递归和动态规划)

剑指offer-斐波那契数列

从斐波那契数列初探动态规划