矩形覆盖——递归
2016-10-03 16:22
169 查看
题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
解题思路:
当n = 0时,有0种方法;
当n = 1时,有1种方法:一个2*1的小矩形横放;
当n = 2时,有2种方法:两个小矩形竖放或者横放;
当n = 3时,有3种方法:n-1时加一个横放的小矩形,n-2时加两个竖放的小矩形;
当n = 4时,有5种方法:同n = 3时;
。
。
。
得出递归式:f(n) = f(n - 1) + f(n - 2)
解题思路:
当n = 0时,有0种方法;
当n = 1时,有1种方法:一个2*1的小矩形横放;
当n = 2时,有2种方法:两个小矩形竖放或者横放;
当n = 3时,有3种方法:n-1时加一个横放的小矩形,n-2时加两个竖放的小矩形;
当n = 4时,有5种方法:同n = 3时;
。
。
。
得出递归式:f(n) = f(n - 1) + f(n - 2)
public class Solution { public int RectCover(int target) { if(target == 0){ return 0; }else if(target == 1){ return 1; }else if(target == 2){ return 2; }else{ return RectCover(target - 1) + RectCover(target - 2); } } }
相关文章推荐
- 《剑指Offer》递归和循环——矩形覆盖
- 递归与循环--斐波那契数列、跳台阶、矩形覆盖
- 剑指offer面试题9——矩形框覆盖(递归改循环,斐波那契数列)
- 矩形覆盖-避免递归
- 《剑指offer》刷题笔记(递归和循环):矩形覆盖
- 【递归】矩形覆盖
- 矩形覆盖(递归 循环)
- 剑指offer: 矩形覆盖(循环与递归)
- 矩形覆盖--递归实现
- usaco window arear(递归求矩形覆盖面积)
- n个2*1小矩形无重叠覆盖2*n大矩形(递归,思路分析及代码实现,斐波那契数列衍生)
- 递归和循环:矩形覆盖
- [Wikioi 1101][NOIP 2002提高组]矩形覆盖
- Android SurfaceView 绘图覆盖刷新及脏矩形刷新方法
- 矩形覆盖
- 直方图最大矩形覆盖-LintCode
- 10.矩形覆盖
- 矩形覆盖
- 剑指offer——矩形覆盖
- 《剑指Offer》读书笔记10:矩形覆盖