青蛙跳台階問題 斐波拉契數列 動態規劃

2021-10-08 01:46:40 字數 840 閱讀 1991

乙隻青蛙一次可以跳上1級台階,也可以跳上2級台階。求該青蛙跳上乙個 n 級的台階總共有多少種跳法。

答案需要取模 1e9+7(1000000007),如計算初始結果為:1000000008,請返回 1。

示例 1:

輸入:n = 2

輸出:2

示例 2:

輸入:n = 7

輸出:21

0 <= n <= 100

看到這道題,彷彿似曾相識!

我們先來分析一下:

咦!這不是斐波那契數列嗎?唯一不同的可能就是起始數字了。

斐波那契數列問題: f(0)=0, f(1)=1 , f(2)=1 ;

青蛙 跳台階問題: f(0)=1, f(1)=1 , f(2)=2 。

由此可見,這道青蛙跳台階問題可以轉化為求斐波那契數列第 n 項的值

在我的部落格中,我前面已經講過一道斐波拉數列的問題,詳見我的部落格——動態規劃解決斐波那契數列問題,具體的我在這就不解釋了,原理基本一樣!

時間複雜度 o(n):計算 f(n)需迴圈 n 次,每輪迴圈內計算操作使用 o(1)。

空間複雜度 o(1) :幾個標誌變數使用常數大小的額外空間。

class

solution

return a;

}}

斐波拉契數列 漢諾塔,青蛙跳台階

斐波拉契數列 漢諾塔,青蛙跳台階 的演算法實現 一.斐波那契數列 1,1,2,3,5,8,13,21,34 f n 0,1,f n 1 f n 2 n 0n 1 n 2遞迴解法 效率很低 public function fibonacci1 n if n 1 return fibonacci1 n ...

斐波那契數列及青蛙跳台階問題

都是 寫乙個函式,輸入n,求斐波那契 fibonacci 數列的第n項。斐波那契 fibonacci 數列定義如下 f n 0,1,f n 1 f n 2 n 0n 1 n 2 效率很低的解法 遞迴解法 效率很低 long long fibonacci solution1 unsigned int ...

斐波那契數列及青蛙跳台階問題

題目1 寫乙個函式,輸入n,求斐波那契 fibonacci 數列的第n項。斐波那契 fibonacci 數列定義如下 f n 0,1,f n 1 f n 2 n 0 n 1 n 2 效率很低的解法 遞迴解法 效率很低 objc view plain copy long long fibonacci ...