矩形覆盖

递归解决矩形覆盖问题
本文探讨了使用递归方法解决2*1小矩形覆盖2*n大矩形的问题,详细介绍了算法实现过程和核心逻辑。

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

仔细看题就会发现,前两道题和这道题其实思路都是差不多的。

 1 class Solution {
 2 public:
 3     int rectCover(int number) {
 4     int a=2, b=1;
 5     int t = 0;
 6     for(int i=3; i<=number; ++i) {
 7         t = a+b;
 8         b = a;
 9         a = t;
10     }
11     if(number == 1) return 1;
12     else {
13         if(number == 2) return 2;
14         else {
15             if(number == 0) return 1;
16             else return t;
17         }
18     }
19 }
20 };

 

转载于:https://www.cnblogs.com/mtc-dyc/p/4665549.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值