您好,登錄后才能下訂單哦!
#include <iostream> using namespace std; /* 題目描述 一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 */ //0 1 2 3 //f(n) = (最后一次跳一級臺階有多少種方法) + (最后一次跳兩級臺階有多少種方法) //即: //f(n) = f(n - 1) + f(n - 2) class Solution { public: int jumpFloor(int number) { if (number <= 1) { return number; } int first = 1; int second = 1; while (--number) { int tmp = second; second += first; first = tmp; } return second; } }; int main() { Solution s1; for (int i = 0; i < 10; i++) { cout << s1.jumpFloor(i) << endl; } return 0; }
//https://github.com/HonestFox/BrushQuestion
以4個臺階為例子
那么有(1,1,1,1)(1,2,1)(1,1,2)(2,1,1)(2,2)5種 走法
main()測試中給出了 10階內(nèi)的走發(fā)分別有多少種
循環(huán)中
first second tmp
1 1
1 2 1
2 3 2
3 (5 ) 3
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。