咱們能夠用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