矩形覆盖

我们可以用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 }

 

posted @ 2017-02-13 20:02  alittlecomputer  阅读(117)  评论(0编辑  收藏  举报