首页 > 其他 > 详细

剑指offer【11】- 矩形覆盖

时间:2019-08-05 19:23:12      阅读:97      评论:0      收藏:0      [点我收藏+]

题目:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

 

在分析前不知道是什么序列,所以先看了n=1,n=2,n=3,n=4的情况摸索规律,主要是看 n 和 n-1 的隐含联系。(2*1 指 长宽)

技术分享图片

结论:f(n) = f(n-1)+f(n-2)   (n>=3)

 

 1 public class Solution {
 2     public int RectCover(int target) {
 3         if(target == 0){
 4             return 0;
 5         }else if(target == 1){
 6             return 1;
 7         }else if(target == 2 ){
 8             return 2;
 9         }else{
10             return RectCover(target-1)+RectCover(target-2);
11         }
12     }
13 }

 

剑指offer【11】- 矩形覆盖

原文:https://www.cnblogs.com/linliquan/p/11304957.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!