演算法題之 跳台階 第三天 2019 5 31

2021-09-24 01:37:55 字數 732 閱讀 4527

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法(先後次序不同算不同的結果)。

按照題意,

1 級 —- 1 種

2 級 —- 2 種

3 級 —- 3 種

4 級 —- 5 種

5 級 —- 8 種

我們可以得到一種規律,如果要跳 6 級,可以從 5 級跳一步到 6 級,5 級的方案中有多少種就有多少種跳法跳到 6 級;還可以從 4 級跳兩步到 6 級,同理,4 級的方案有多少種就有多少種方法從 4 級跳到 6 級,所以可以得到公式f(n) = f(n-1) + f(n-2),再結合 1 級和 2 級的情況,可以得以如下的規律:

f(n) = 1, (n=1)

f(n) = 2, (n=2)

f(n) = f(n-1)+f(n-2) ,(n>2,n為整數)

這就是斐波那契數列的變形,因此可以用遞迴來實現

public class 跳台階 

int f1 = 1 ;

int f2 = 2 ;

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

return f2;

} //遞迴演算法

public static int fun2(int n)

if(n == 1 || n == 2)

return fun2(n-1)+fun2(n-2);

}}

刷題第三天

今天被p老師看見刷b站了,下午想到了乙個還不錯的idea,做做調研看看會不會被reject掉,今天真的好懶惰,今天可能不做太多太難的題了,明天還要起大早上英語課,我真的是好煩喲,我真的不想做題啊啊啊啊 這道題沒啥可說的,各種方法都能解決,但是我彷彿記得我多年前面測試的時候被問過一次,反轉單鏈表,反正...

前端學習之CSS第三天

前端學習之css3第三天 一 css的三大特性 層疊性 繼承性 優先性 1.層疊性 相同的選擇器設定相同的樣式,裡面的值是不一樣的。原則 就近原則,那個樣式離著body近就用那個裡面的值。主要是解決樣式衝突的問題。2.繼承性 子標籤會繼承父標籤的某些樣式,如文字顏色 字型屬性等。如 行高的繼承 如果...

前端學習之CSS第三天

前端學習之css第三天 一 圓角邊框 border radius圓形 正方形的盒子是圓形,長方形的盒子是橢圓 boder radius 50 圓角矩形 高度或者是寬度的一半 border radius 高或寬的一半設定不同的圓角 border radius 10px 20px 30px 40px 左...