2018.8.4
矩形覆蓋這道題實際上是變相的斐波那契數列,思路完全相同,代碼也完全相同,可以參考之前的兩篇:
#數據結構與算法學習筆記#劍指Offer7:斐波那契數列的四種編程實現方法 + 測試用例(Java、C/C++)
#數據結構與算法學習筆記#劍指Offer8:普通青蛙跳臺階+變態青蛙跳臺階+最清晰數學歸納法證明(Java、C/C++)
題目描述
我們可以用2*1的小矩形橫着或者豎着去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法?
JAVA代碼實現:(C++可以參考前幾篇)
/**
*
* @author ChopinXBP
* 用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法?
* 思路:斐波那契數列
*
*/
public class RectCover_9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = Solution(5);
System.out.println(n);
}
public static int Solution(int target){
if(target == 0) return 0;
int rol1 = 1;
int rol2 = 0;
while(target != 0){
target--;
rol1 += rol2;
rol2 = rol1 - rol2;
}
return rol1;
}
}
#Coding一小時,Copying一秒鐘。留個言點個讚唄,謝謝你#