乙隻青蛙一次可以跳上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階的台階,最後一步我們可以從第五個台階跳一級跳上去,或者從第四階台階跳兩擠跳上去,這樣的跳法就是...