劍指offer8 跳台階

2021-08-18 06:32:39 字數 553 閱讀 2275

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

假設,一級台階,有f(1)種方法,二級有f(2)種,以此類推,n級有f(n)種方法。

可以看出,f(1)=1;f(2)=2。

那麼,假設n級台階,那麼第一步就有兩種情況,跳一步,跟跳兩步。

情況一:跳一步,那麼接下去的就是f(n-1);

情況二:跳兩步,那麼接下去的就是f(n-2)。

所以總數是f(n)=f(n-1)+f(n-2)。

其實還是斐波那契數列

迭代的思路:

public

intjumpfloor(int target) ;

if (target < 3)

return fib[target];

int total=0;

int firstelem=1;

int secondelem=2;

for(int i=3;i<=target;i++)

return total;

}

劍指offer 8 跳台階

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

劍指Offer 8 跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。coding utf 8 class solution def jumpfloor self,number write code here if number 0 return 0 a 1 b 1 for in...

劍指offer(8)跳台階

時間限制 1秒 空間限制 32768k 熱度指數 243091 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。我們假設f n 代表著n階台階的跳法,假設現在有6階的台階,最後一步我們可以從第五個台階跳一級跳上去,或者從第四階台階跳兩擠跳上去,這樣的跳法就是...