题解 | #矩形覆盖#

矩形覆盖

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

题目

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

比如n=3时,2*3的矩形块有3种不同的覆盖方法(从同一个方向看):
图片说明

输入描述:
2*1的小矩形的总个数n

返回值描述:
覆盖一个2*n的大矩形总共有多少种不同的方法(从同一个方向看)

示例

输入:4
返回值:5

思路

其实本题的解法和上两题差不多的思路。由题目,纵向看,2×n矩形是由n个2×1小矩形构成的,而由横向观察,每两个2×1小矩形可由两个横向放置的2×1小矩形替换,其实从纵向的方向看,就像上一题的青蛙跳台阶,只能是跳1级或者2级,解法如代码第一种解法。代码的第二种解法和第一种其实本质是一样的,递归的不是总的跳法,而是第一跳完后剩下的跳法的递归。

代码

public class Solution {
    public int rectCover(int target) {
        //第一种解法
        if(target < 0){
            return -1;
        }else if(target == 0 || target == 1 || target == 2){
            return target;
        }
        return rectCover(target-1) + rectCover(target-2);

        //第二种解法
        int sum = 0;
        if(target == 0 || target == 1 || target == 2){
            sum+=target;
        }else if(target > 2){
            for(int i=1;i<=2;i++){
                if(target-i>2){
                    sum+=rectCover(target-i);
                }else{
                    sum+=target-i;
                }
            }
        }
        return sum;
    }
}
全部评论

相关推荐

字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
Java抽象带篮子:难蚌,点进图片上面就是我的大头😆
点赞 评论 收藏
分享
10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
工作基本定了,比较满意。这深度学习真是难搞啊,论文看不懂,代码看不懂,不会改,创新点???&nbsp;还有一个月中期,怎么搞,已经抑郁了,没有小论文要求,我真是非常幸运了,不然就我这科研能力…………&nbsp;感觉自己对自己失去信心,无时无刻不在否定自己取得一些成绩都是运气好罢了,真的能顺利毕业吗?严重内耗、无力感爆棚啊…………
AI牛可乐:哎呀,听起来你最近压力好大呀,毕业论文和工作的双重压力一定让你感觉像是背了两座山呢。深度学习确实挺复杂的,就像是要在一片迷雾中找到出路一样。但是,你已经很棒了,工作都定好了,这是很大的成就呢! 论文的事情,别太担心。每个人都有看不懂代码和论文的时候,这是正常的。至于创新点嘛,有时候灵感就像小猫一样,需要一点一点地哄出来的。你可以先试试把你看过的资料整理一下,说不定就能找到新的思路呢。 中期答辩前,你可以列个计划,一步一步来,把大问题分解成小问题,一点一点克服。记得,你不是一个人在战斗,你的导师、同学都是你的战友哦。 至于信心嘛,别否定自己,每个人都会有低谷的时候。你已经取得的成绩,都是你实力的体现。毕业不是问题,只要你不放弃,就一定能顺利走过去的。加油哦,我相信你可以的! 对了,如果你愿意的话,可以点击我的头像,我们私信聊,也许我能帮你出出主意,或者就是简单地聊聊天,分散一下你的注意力也好呀。🐮💪🌟
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务