矩形覆盖

题目描述

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

题目链接: 矩形覆盖

代码

/**
* 标题:矩形覆盖
* 题目描述
* 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
* <p>
* 比如n=3时,2*3的矩形块有3种覆盖方法:
* 题目链接
* https://www.nowcoder.com/practice/72a5a919508a4251859fb2cfb987a0e6?tpId=13&&tqId=11163&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
*/
public class Jz10 { /**
* 迭代法
* 方法:要覆盖 2*n 的大矩形,可以先覆盖 2*1 的矩形,再覆盖 2*(n-1) 的矩形;
* 或者先覆盖 2*2 的矩形,再覆盖 2*(n-2) 的矩形。而覆盖 2*(n-1) 和 2*(n-2) 的矩形可以看成子问题。
*
* @param target
* @return
*/
public static int rectCover(int target) {
if (target <= 2) {
return target;
}
int first = 1, second = 2;
for (int i = 3; i <= target; i++) {
second = second + first;
first = second - first;
}
return second;
} public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
System.out.println(rectCover(i));
}
}
}

【每日寄语】 闲看花开,静待花落,冷暖自知,干净如始。

最新文章

  1. linux c++编译问题和虚拟机网络通信
  2. Winform开发框架之参数配置管理功能实现-基于SettingsProvider.net的构建
  3. CSU 1337 搞笑版费马大定理(2013湖南省程序设计竞赛J题)
  4. Android 自动化测试—robotium(八) 拖拽
  5. XE6移动开发环境搭建之IOS篇(1):准备安装材料(有图有真相)
  6. CI 配置验证规则
  7. PAT1076. Forwards on Weibo(标准bfs模板)
  8. Codeforces Round #174 (Div. 1)A
  9. notifyDataSetChanged listview内容没更新的问题
  10. IP地址理解_IP地址=网络地址+主机地址,但是具体前面多少是网络地址看题目说明
  11. Java 8的新特性—终极版
  12. 安装Spotlight On Unix监控Linux
  13. mysql innodb 唯一键里的字段为什么不能为NULL
  14. ABP从入门到精通(5):.扩展国际化语言资源
  15. chrome插件 - Manifest文件中的 background
  16. 排序基础之非比较的计数排序、桶排序、基数排序(Java实现)
  17. 项目日志的管理和应用 log4js-Node.js中的日志管理模块使用与封装
  18. easyui-combo个人实例
  19. hdu 5012 模拟+bfs
  20. [Android] osx下如何使用SublimeText阅读Android系统源码

热门文章

  1. 使用Xamarin开发移动应用示例——数独游戏(七)添加新游戏
  2. NOIP2020 部分简要题解
  3. iptables简单使用
  4. Tomcat多实例单应用部署方案 (转)
  5. 【转】python导出依赖库
  6. The official raywenderlich.com Objective-C style guide.
  7. LVS负载均衡群集部署——NAT模式
  8. shell——eval exec
  9. 2、Golang基础--包的使用、if-else语句、循环、switch语句、数组、切片、可变函数参数、map类型
  10. 基于FMC接口的Kintex-7 XC7K325T PCIeX4 3U VPX接口卡