剑指offer_递归与循环---矩形覆盖

简介: 剑指offer_递归与循环---矩形覆盖

##题目描述

我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2n的大矩形,总共有多少种方法?
##解题思路
依旧是斐波那契数列
2
n的大矩形,和n个21的小矩形
其中target
2为大矩阵的大小

有以下几种情形:

1⃣target <= 0 大矩形为<= 20,直接return 1;
2⃣️target = 1大矩形为2
1,只有一种摆放方法,return1;

3⃣️target = 2 大矩形为2*2,有两种摆放方法,return2;

4⃣️target = n 分为两步考虑:

##代码实现

/**
 * 
 */
package 递归和循环;
/**
 * <p>
 * Title:RectCover
 * </p>
 * <p>
 * Description:
 * </p>
 * 
 * @author 田茂林
 * @data 2017年8月23日 下午12:00:44
 */
public class RectCover {
  public int IntRectCover(int target) {
    if(target==1){
      return 1;
    }
    if(target==2){
      return 2;
    }
    int num =0;
    if(target>2){
      num = IntRectCover(target-1)+IntRectCover(target-2);
    }
    return num;
  }
}


相关文章
|
12月前
|
存储 监控 固态存储
如何在 Linux 上检查 SSD/HDD 健康状况?
【10月更文挑战第14天】
1106 1
如何在 Linux 上检查 SSD/HDD 健康状况?
|
存储 缓存 前端开发
(三)Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化...想要的这都有!
早期的业务都是基于单体节点部署,由于前期访问流量不大,因此单体结构也可满足需求,但随着业务增长,流量也越来越大,那么最终单台服务器受到的访问压力也会逐步增高。时间一长,单台服务器性能无法跟上业务增长,就会造成线上频繁宕机的现象发生,最终导致系统瘫痪无法继续处理用户的请求。
403 1
|
监控 关系型数据库 Linux
Linux日志管理工具:Logrotate(二)
Linux日志管理工具:Logrotate(二)
899 2
|
机器学习/深度学习 自然语言处理 机器人
编码器-解码器(Encoder-Decoder)结构
编码器-解码器(Encoder-Decoder)结构
1684 5
|
缓存 NoSQL JavaScript
从入门到精通:.gitlab-ci.yml文件的完整指南
从入门到精通:.gitlab-ci.yml文件的完整指南
1169 2
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错之遇到MySQL服务器的时区偏移量(比UTC晚18000秒)与配置的亚洲/上海时区不匹配,如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
Docker 容器
Docker 容器中运行 Kibana
Docker 容器中运行 Kibana
385 0
|
负载均衡 网络协议 数据库
【华为数通HCIP | 网络工程师】821-IGP高频题、易错题之OSPF(6)
【华为数通HCIP | 网络工程师】821-IGP高频题、易错题之OSPF(6)
1257 0
|
存储 安全 Windows
windows 服务器动态扩容磁盘操作备忘
windows 服务器动态扩容磁盘操作备忘
680 0
windows 服务器动态扩容磁盘操作备忘