剑指 offer:矩形覆盖
来源:互联网 发布:斯芬克 知乎 编辑:程序博客网 时间:2024/05/16 07:19
题目描述
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
思路:2*n的大矩形可以看作是2*(n-1)的矩形加一个竖着的2*1的小矩形,也可以看做是2*(n-2)的矩形加两个横着的2*1的小矩形。
递归的思想,2*n矩形方法有 f(n) = f(n-1) + f(n-2),其中f(1)=1, f(2)=2.
public class Solution { public int RectCover(int target) { if(target == 0||target==1){ return 1; } if(target == 2){ return 2; } int one = 1; int two = 2; int sum = 0; for(int i=3; i<=target;i++){ sum = one + two; one = two; two = sum; } return sum; }}
0 0
- 剑指offer--矩形覆盖
- 剑指offer--矩形覆盖
- 《剑指offer》矩形覆盖
- 剑指offer 矩形覆盖
- 《剑指offer》矩形覆盖
- 剑指 offer:矩形覆盖
- 【剑指Offer】矩形覆盖
- 剑指offer 矩形覆盖
- 剑指offer-矩形覆盖
- 剑指Offer 矩形覆盖
- 剑指offer 矩形覆盖
- [剑指offer]矩形覆盖
- 《剑指offer》-矩形覆盖
- 【剑指offer】覆盖矩形
- 《剑指offer》矩形覆盖
- 剑指offer - 矩形覆盖
- 【剑指offer】矩形覆盖
- 剑指offer-矩形覆盖
- 如何获取当前执行Assembly的位置
- Mac环境下svn的使用
- 容器类——记事本
- linux下的OpenCV安装&学习笔记
- html 和 css
- 剑指 offer:矩形覆盖
- 对象的初始化过程
- NHibernate从入门到精通系列(8)——一对一关联映射
- Linux下设置发邮件
- extract用法
- 线程等待的几种方式
- iOS 开发之 菜单栏UITabBarController
- 删除表空间报错ORA-00604&ORA-02429解决过程
- Android View坐标getLeft, getRight, getTop, getBottom解惑