剑指offer——矩形覆盖

题目描述

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
 

代码实现(Java)

 

 1 public class Solution {
 2     public int RectCover(int target) {
 3         if(target<=0){
 4             return 0;
 5         }
 6         if(target==1){
 7             return 1;
 8         }
 9         if(target==2){
10             return 2;
11         }
12         int[] a=new int[target];
13         a[0]=1;
14         a[1]=2;
15          
16         for(int i=2;i<target;i++){
17             a[i]=a[i-1]+a[i-2];
18         }
19         return a[target-1];
20     }
21 }

 

posted on 2019-10-29 20:13  Joyce&wang  阅读(112)  评论(0)    收藏  举报

导航