Question

图片说明

思路

  • 从n=1 的情况开始分析,寻找规律,发现是递归问题;
  • 递归公式如下:
    图片说明

    Code

    使用循环方式进行,效率更高
    class Solution {
    public:
      int rectCover(int number) {
          if(number <= 2)
          {
              return number;
          }
          int pre1 = 2, pre2 = 1 , res = 0;
          for(int i = 3; i <= number; i++)
          {
              res = pre1 + pre2;
              pre2 = pre1;        //注意先后顺序
              pre1 = res;            
          }
          return res;
      }
    };
    
    
    

```