剑指offer-10-矩形覆盖

2018-08-06  本文已影响0人  Buyun0

矩形覆盖:

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

思路:
n == 1时,显然是一种
n == 2时,显然也只有一种


n == 3时,如图有2种



n == 4时,如图有3种



n == 5时,5种

n == 6时,8种
·
·
·
·
可以看出其实就是斐波拉且数列

class Solution {
public:
    int rectCover(int number) {


     if(number<=0){
          return 0;
     }else if(number<=2){
      return number;
     }else{
      return rectCover(number-1)+rectCover(number-2);
     }
    
    }
};
上一篇 下一篇

猜你喜欢

热点阅读