剑指offer第十题【矩形覆盖】c++实现
2015-10-14 22:34
387 查看
矩形覆盖
参与人数:3883时间限制:1秒空间限制:32768K
通过比例:31.53%
最佳记录:0 ms|8552K(来自 牛客946562号)
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
这道题主要是分析,逆着推。
加最后一块可以直接竖着放,或者和前一块一起,两个都横着放。
这样的话就又转化为斐波那契数列了。
f(n)=f(n-1)+f(n-2)
参与人数:3883时间限制:1秒空间限制:32768K
通过比例:31.53%
最佳记录:0 ms|8552K(来自 牛客946562号)
题目描述
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?这道题主要是分析,逆着推。
加最后一块可以直接竖着放,或者和前一块一起,两个都横着放。
这样的话就又转化为斐波那契数列了。
f(n)=f(n-1)+f(n-2)
int rectCover(int number) { int f1=1; int f2=1; for(int i=0;i<number/2;i++){ f2=f1+f2; f1=f1+f2; } if(number&1){ return f1; }else{ return f2; } }
相关文章推荐
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- Lua和C语言的交互详解
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总