一只青蛙一次可以跳上 1 級(jí)臺(tái)階篮绰,也可以跳上 2 級(jí)晾蜘。求該青蛙跳上一個(gè) n 級(jí)的臺(tái)階總共有多少種跳法樊诺。
青蛙跳臺(tái)階可以轉(zhuǎn)化為一個(gè)數(shù)學(xué)問(wèn)題,這就是斐波拉契數(shù)列問(wèn)題鹅巍,只要是這種類(lèi)型的問(wèn)題都可以這樣求解
求斐波那契數(shù)列的第 n 項(xiàng)千扶,n <= 39料祠。
我們可以用 21 的小矩形橫著或者豎著去覆蓋更大的矩形。請(qǐng)問(wèn)用 n 個(gè) 21 的小矩形無(wú)重疊地覆蓋一個(gè) 2*n 的大矩形县貌,總共有多少種方法术陶?
深度截圖_選擇區(qū)域_20190507201101.png
深度截圖_選擇區(qū)域_20190507201753.png
這道題可以用遞歸求解凑懂,會(huì)方便對(duì)題目的理解 煤痕,但是要是采用遞歸的話會(huì)導(dǎo)致空間的浪費(fèi)。很多時(shí)候都會(huì)限制空間接谨,所采用動(dòng)態(tài)規(guī)劃
代碼如下
public class jump {
public static void main(String[] args) {
jump j=new jump();
int q=j.myjump(5);
System.out.println(q);
}
public int myjump(int n){
if (n<=2)
return n;
int pre2=1;
int pre1=2;
int re=1;
for (int i=2;i
re=pre1+pre2;
pre2=pre1;
pre1=re;
}
return re;
}
}