题解 | #矩形覆盖#

矩形覆盖

https://www.nowcoder.com/practice/72a5a919508a4251859fb2cfb987a0e6

import java.util.*;
public class Solution {
    public int rectCover(int target) {
        int n1 = 1;
        int n2 = 2;
        int nn = 0;
        for (int i = 3; i <= target; i++) {
            nn = n1 + n2;
            n1 = n2;
            n2 = nn;
        }

        if (target <= 2)return target;

        else return nn;
    }

}



当 n 为 1 时,只有一种覆盖方法:

当 n 为 2 时,有两种覆盖方法:

要覆盖 2*n 的大矩形,可以先覆盖 2*1 的矩形,再覆盖 2*(n-1) 的矩形;或者先覆盖 2*2 的矩形,再覆盖 2*(n-2) 的矩形。而覆盖 2*(n-1) 和 2*(n-2) 的矩形可以看成子问题。该问题的递推公式如下:

全部评论

相关推荐

代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务