矩形覆蓋-----批了外皮的親蛙跳

題目描述:

咱們能夠用2*1的小矩形橫着或者豎着去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法?java

這個題目有點相似於親蛙跳的那個題目。spa

一樣是求取有多少種方法的,一樣採起分割的思想,將總體無線化爲小,化到能肯定,只有 幾種方法,不然繼續化小。code

 

根據題目  徹底能夠化成青蛙跳臺階的題目,  2*1的大矩形,只有1種覆蓋方法,  2*2 的有2種覆蓋方法。get

無非就是 1階臺階是 1種跳法, 2階臺階是 2種跳法。。class

具體能夠看青蛙跳怎麼想的。直接寫代碼了:方法

public static int RectCover(int target) {
		 if(target==0){
			 return 0;
		 }
		 if(target==1){
			 return 1;
		 }
		 if(target==2){
			 return 2;
		 }
		 return RectCover(target-1)+RectCover(target-2);
	 }

換湯不換藥。。。解法同樣。。static

相關文章
相關標籤/搜索