剑指offer 矩形覆盖
2015-08-18 23:14
435 查看
题目描述
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
解题思路:
该题实际上就是一个斐波那契数列,找到规律之后,就容易求解了。
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
解题思路:
该题实际上就是一个斐波那契数列,找到规律之后,就容易求解了。
[code]#include <iostream> using namespace std; class Solution { public: int rectCover(int number) { if(0 == number) return 1; if(1 == number) return 1; if(2 == number) return 2; int prelast = 1,last = 2; int index = 0; int sum = 0; for(index = 3;index <= number; index++) { sum = prelast + last; prelast = last; last = sum; } return sum; } }; int main() { Solution s; cout << s.rectCover(4) << endl; return 0; }
相关文章推荐
- 前端技术大全
- Hello JSP!——指令元素之taglib篇
- web前端js绘制统计图表,访问数据库
- 使用qq邮箱发送html格式的邮件
- html
- bootstrap注意事项(一)
- CSS3 加载进度样式
- javascript 基本类型和引用类型
- extjs 在toolbar中加入文本框 下拉框
- [LeetCode][JavaScript]Single Number II
- 剑指offer 算法 (举例让抽象具体化)
- find the safest road
- 匿名函数(回调函数)的理解思路
- jsp页面放在webroot下与放在WEB-INF的区别
- dhtmlx中,在window窗口底部添加状态栏(StatusBar)显示表格分页
- 利用itcast-tool包实现jsp+servlet验证码
- 剑指offer :变态跳台阶
- JavaScript 编程
- [ JavaScript ] JavaScript 实现继承.
- 闲话js前端框架(2)——庞大的angularjs