矩形覆盖

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

仍然使用递归方法(n==1时:1种方法;n==2时:2种方法;当n>3时:即最后一次为竖着覆盖(只需横向一格)或最后一次为横着覆盖(需横向两个)====return f(n-1)+f(n-2))

 1 public class Solution {
 2     public int RectCover(int target) {
 3         if(target == 0){
 4             return 0;
 5         }else if(target == 1){
 6             return 1;
 7         }else if(target == 2){
 8             return 2;
 9         }else{
10             return RectCover(target-1)+RectCover(target-2);
11         }
12     }
13 }

记录每一道题!!!

posted @ 2019-12-27 10:13  hu啦啦啦  阅读(122)  评论(0编辑  收藏  举报