題目描述
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法
思路:
由題可知,青蛙跳台階,跳上n階,可以一階一階的跳,也可以兩階兩階的跳,還可以交叉來。
如果函式f(n)表示跳到n階的方法,那麼如果最後一次跳一階,則前面有f(n-1)種,如果最後是跳2階,則前面有f(n-2)種,因此f(n)=f(n-1)+f(n-2);依次類推,f1=1,f2=2;f3=f1+f2;又是類似斐波那契數列的形式。
**:時間複雜度為o(n)。
public
class test
int f1=1,f2=2;
int f3=0;
while(n>=3)
return f3;
}}
劍指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...
劍指offer8 跳台階
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。假設,一級台階,有f 1 種方法,二級有f 2 種,以此類推,n級有f n 種方法。可以看出,f 1 1 f 2 2。那麼,假設n級台階,那麼第一步就有兩種情況,跳一步,跟跳兩步。情況一 跳一步,那麼接下去的就...
劍指offer(8)跳台階
時間限制 1秒 空間限制 32768k 熱度指數 243091 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。我們假設f n 代表著n階台階的跳法,假設現在有6階的台階,最後一步我們可以從第五個台階跳一級跳上去,或者從第四階台階跳兩擠跳上去,這樣的跳法就是...