1. 程式人生 > >4.1 斐波那契系列問題的遞歸和動態規劃

4.1 斐波那契系列問題的遞歸和動態規劃

str 斐波那契 斐波那契數列 數量 解法 程序 面試 一次 給定

題目】:

  給定整數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 斐波那契系列問題的遞歸和動態規劃