劍指Offer 筆記8 跳台階 C 實現

2021-10-23 06:20:59 字數 371 閱讀 8766

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

當台階數是1時,只能有跳1階這1種跳法;當台階數是2時,有跳2次1階、跳1次2階這2種跳法;當台階數是3時,若第一步跳1階,則還剩2階,就有2種跳法,若第一步跳2階,則還剩1階,就只有1種跳法,總共就是3種跳法,即前兩種台階數的情況之和。以此類推,n為台階數,則f(n)為對應的跳法,有f(n)=f(n-1)+f(n-2),即本題是斐波那契數列的應用。只不過一開始的項是1和2。

class

solution

return ans;}}

;

已通過所有的測試用例,歡迎指正批評(´▽`ʃ♡ƪ)

8 劍指offer 跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 比較傾向於找規律的解法,f 1 1,f 2 2,f 3 3,f 4 5,可以總結出f n f n 1 f n 2 的規律,但是為什麼會出現這樣的規律呢?假設現在6個台階,我們可以從第5...

8 劍指offer 跳台階

題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。解題思路 f n f n 1 f n 2 且0 1 2需要單獨處理 1 include 2 using namespace std 3class solution 9int f1 1 10 int f...

劍指offer 8 跳台階

題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 思路 由題可知,青蛙跳台階,跳上n階,可以一階一階的跳,也可以兩階兩階的跳,還可以交叉來。如果函式f n 表示跳到n階的方法,那麼如果最後一次跳一階,則前面有f n 1 種,如果最後是跳2階,則前面有...