時間限制:1秒 空間限制:32768k思路:典型的斐波那契演算法思路,題目描述
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法(先後次序不同算不同的結果)。
1.假設當有n個台階時假設有f(n)種走法。
2.青蛙最後一步要麼跨1個台階要麼跨2個台階,只有這兩種情況。
3.當最後一步跨1個台階時即之前有n-1個台階,根據1的假設即n-1個台階有f(n-1)種走法。
4. 當最後一步跨2個台階時即之前有n-2個台階,根據1的假設即n-2個台階有f(n-2 )種走法。
5.顯然n個台階的走法等於前兩種情況的走法之和即f(n)=f(n-1)+f(n-2)。
6.找出遞推公式後要找公式出口,即當n為1、2時的情況,顯然n=1時f(1)等於1,f(2)等於2
7可得公式為:.f(n
)=
1,& \text\\ 2,& \text\\ f(n-1)+f(n-2),& \text \end
f(n)=⎩
⎪⎨⎪⎧
1,2
,f(n
−1)+
f(n−
2),
n=1n=2
(n>2,n
為整數)
**如下:
public
class
solution
else
if(target ==1)
else
if(target ==2)
else
}}
劍指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...
劍指offer8 跳台階
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。假設,一級台階,有f 1 種方法,二級有f 2 種,以此類推,n級有f n 種方法。可以看出,f 1 1 f 2 2。那麼,假設n級台階,那麼第一步就有兩種情況,跳一步,跟跳兩步。情況一 跳一步,那麼接下去的就...