劍指offer 青蛙跳台階I 青蛙跳台階 II

2021-08-21 10:30:02 字數 714 閱讀 5190

i 題目:

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法(先後次序不同算不同的結果)。

斐波那契數列變體,關鍵是找出遞推公式。

假設跳n級台階有f(n)中跳法,容易發現f(1)=1,f(2)=2; n>2時,如果最後一次跳一級台階,一共有f(n-1)種跳法,如果最後一次跳兩級台階,一共有f(n-2)種跳法。即f(n)=f(n-1)+f(n-2)。

ac**:

class solution 

return f_n;

}};

ii 題目:

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

斐波那契數列變體,關鍵是找出遞推公式。

同樣的思路,但是遞推公式變為,f(1)=1,f(2)=2,f(n)=1+f(1)+f(2)+...+f(n-2)+f(n-1),由f(n-1)=1+f(1)+f(2)+...+f(n-2),兩式相減可得,f(n)=2f(n-1),n>=3。用數學歸納法可以證明,f(n)=2^(n-1)。

**:

ac**:

class solution 

return f_n;

}};

劍指offer 青蛙跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 這是一道比較簡單的動態規劃問題。n 1時,青蛙只能跳一次,即num 1 n 2時,青蛙可以有兩種方法,1 1,2 即num 2 n 3時,青蛙可以有三種方法,1 1 1,1 2,2 1...

劍指offer 青蛙跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 public class solution if target 1 if target 2 return jumpfloor target 1 jumpfloor target 2 乙...

劍指offer 青蛙跳台階(C 實現)

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 和斐波那契數列的思路完全一致。假設有n nn個台階,當n 3 n ge 3 n 3時,青蛙第一次可以跳1 11個台階,則剩下的n 1 n 1 n 1個台階一共有f n 1 f n 1 ...