矩阵覆盖(C牛客网)

解题思路:

(1)动态规划 dp[n]=dp[n-1]+2*dp[n-2]

(2)因为dp[n-1]到dp[n]和dp[n-2]到dp[n]中的一种方法重复

(3)所以dp[n]=dp[n-1]+dp[n-2],dp[1]=1,dp[2]=2

class Solution {
public:
    int rectCover(int number) {
        if(number==0) return 0;
        if(number==1) return 1;
        if(number==2) return 2;
        int a=1,b=2,c=0;
        for(int i=3;i<=number;i++) {
            c=a+b;
            a=b;
            b=c;
        }
        return c;
    }
};
发布了302 篇原创文章 · 获赞 277 · 访问量 42万+

猜你喜欢

转载自blog.csdn.net/coolsunxu/article/details/105609986