[剑指offer]JT10---矩形覆盖(万事有起因,答案其中隐)

让我们先来看看这个题目怎么说

在这里插入图片描述

思路分析与代码

很多人可能第一思路是用数学的思想去做,去分析,这不错。但是递归的分治思想让我们能够更加清晰地来完成这个题目。

从题目我们可以看出,要不横着放两个,要不就竖着放一个,这不是就出来了吗?和f数列如出一辙啊!

f(n)=f(n-1)+f(n-2);

class Solution {
    
    
public:
    int rectCover(int number) {
    
    
        if(number<=2) return number;
        int a=1,b=2;
        for(int i=3;i<=number;i++){
    
    
            int c=a+b;
            a=b;
            b=c;
        }
        return b;
    }
};

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42136832/article/details/114360625