矩形覆盖
来源:互联网 发布:苹果cms整合ckplayerx 编辑:程序博客网 时间:2024/05/18 06:43
题目
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
思路
组成2*1的矩形的方法有1种;
组成2*2的矩形的方法有2种,分别是横着两块2*1的矩形或者竖着两块2*1的矩形;
从n = 3开始,组成2*n的矩形的方法数可以看成组成2*(n - 1)的矩形的情况上再横一块,或者在组成2*(n - 2)的矩形上竖两块,因此组成2*n的矩形的方法总数等于组成2*(n - 1)和组成2*(n - 2)的方法总数的和。
参考代码
class Solution{public: int rectCover(int number) { if (number <= 2) return number; int pre1 = 1, pre2 = 2, now; for (int i = 3; i <= number; ++i) { now = pre1 + pre2; pre1 = pre2; pre2 = now; } return now; }};
阅读全文
0 0
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 文章标题
- 字符串的replace方法,结合正则表达式的使用
- new操作符重载的使用
- CentOS7添加en_US.UTF-8字符集
- 拷贝java项目报错
- 矩形覆盖
- 学习Mysql过程中的总结
- 创建trigger,审计和禁止用户的密码修改
- 十八、Object类的各个方法及其作用
- no module named lxml.html`
- MySQL带比较运算符的子查询
- String为不可变类
- 我学Linux之特殊字符:重定向
- 理解ng中的依赖和注入