我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
思路:通过计算前几个得到是斐波那契数列。
1 public class Solution { 2 public int RectCover(int target) { 3 if(target == 0) 4 return 0; 5 int fib1 = 0; 6 int fib2 = 1; 7 int f = 0; 8 for(int i = 0;i<target;i++){ 9 f = fib1+fib2; 10 fib1 = fib2; 11 fib2 = f; 12 } 13 return fib2; 14 15 } 16 }