劍指offer之跳台階問題

2021-08-17 18:36:27 字數 395 閱讀 8422

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

思路:當n=1時,總跳法m = 1; 

當n=2時,總跳法m = 2

當n=3時,假設這只青蛙只差一步就能跳到第3階,那它現在就兩種情況,要麼在第1階,要麼在第2階,那青蛙跳上第三階的總跳法就應該是這兩種之和,即m = 1+2 (青蛙到達第1階有1種方法,到達第2階有2種方法)。

同理,可知n>=3時,m = f(n) = f(n-1) + f(n-2); 類似於斐波拉契數列的第n項。

具體**:(c++)

class solution:

public:

int jumpfloor(int num)

return    cur;

}

《劍指offer》 跳台階問題

本文演算法使用python3實現 1 當 n 0 時,返回0 2 當 n 1 時,只有一種跳法 跳1級台階。3 當 n 2 時,有兩種跳法 a 跳1級再跳1級 b 直接跳2級。4 當 n 3 時,我們只考慮最後一步的情況 a 當最後一步只跳1級時,f 3 f 3 1 b 當最後一步直接跳2級時,f ...

《劍指Offer》之跳台階

例1 題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 分析 本題可以用普通的遞迴來解,但是會超時,所以可以用能過儲存資料的dp來解決,狀態轉移方程為 dp j dp j 1 dp j 2 include include u...

劍指offer 跳台階

跳台階1 題目 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。思路 遞迴思想 可以理解為前面m步的情況加上最後一步的情況,前面m步理解為,m 1步加上最後一步的情況。最後一步分為2中情況,上1級和上2級。如下 class solution 跳台階2 題目 ...