【10】矩形覆盖
2016-06-23 11:30
295 查看
【10】矩形覆盖
时间限制:1秒空间限制:32768K
题目描述
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1 的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
题目链接:牛客网题目链接点击
提交代码
#include<stdio.h> class Solution { public: int rectCover(int number) { if( number==0 ) return 0; if( number==1 ) return 1; if( number==2 ) return 2; int a2=2, a1=1, sum=0; for(int i=3; i<=number; i++) { sum=a2+a1; a1=a2; a2=sum; } return sum; } }; //思路:分为竖着和横着,竖着一次走一格,横着一次走两个,均只有一种方法。 // 因此,通式为f(n)=f(n-1)+f(n-2);
改良方法:
class Solution { public: int rectCover(int number) { if(number<1) return 0; int a=1,b=0; while(number--) { a=a+b; b=a-b; } return a; } };
相关文章推荐
- C#递归算法之分而治之策略
- 有关数据库SQL递归查询在不同数据库中的实现方法
- C#中的递归APS和CPS模式详解
- WinForm实现按名称递归查找控件的方法
- C#递归方法实现无限级分类显示效果实例
- 使用SqlServer CTE递归查询处理树、图和层次结构
- C#递归算法之打靶算法分析
- C#中的尾递归与Continuation详解
- C#递归实现显示文件夹及所有文件并计算其大小的方法
- php递归创建目录的方法
- PHP递归创建多级目录
- Javascript递归打印Document层次关系实例分析
- C#递归算法寻找数组中第K大的数
- C++使用递归方法求n阶勒让德多项式完整实例
- C#用递归算法解决经典背包问题
- oracle 使用递归的性能提示测试对比
- 使用curl递归下载软件脚本分享
- Perl脚本实现递归遍历目录下的文件
- JavaScript的递归之递归与循环示例介绍
- C# 递归查找树状目录实现方法