矩阵覆盖
来源:互联网 发布:希腊经济知乎 编辑:程序博客网 时间:2024/06/05 11:17
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
依旧是斐波那契数列
有以下几种情形:
1⃣️target <= 0 大矩形为<= 2*0,直接return 1;
2⃣️target = 1大矩形为2*1,只有一种摆放方法,return1;
3⃣️target = 2 大矩形为2*2,有两种摆放方法,return2;
4⃣️target = n 分为两步考虑:
第一次摆放一块 2*1 的小矩阵,则摆放方法总共为f(target - 1)√ √
第一次摆放一块1*2的小矩阵,则摆放方法总共为f(target-2)
第一次摆放一块1*2的小矩阵,则摆放方法总共为f(target-2)
因为,摆放了一块1*2的小矩阵(用√√表示),对应下方的1*2(用××表示)摆放方法就确定了,所以为f(targte-2)
√√ ××
递归思路
public class Solution { public int RectCover(int target) {if(target <= 2) return target; else return RectCover(target - 1) + RectCover(target - 2); }}
非递归
public class Solution { public int RectCover(int target) {if(target <= 2) return target; int r = 2, l = 1, m = 0; for(int i = 3; i <= target; i++) { m = l; l = r; r = m + r; } return r; }}
阅读全文
0 0
- 矩阵覆盖
- 矩阵覆盖
- 矩阵覆盖
- 矩阵覆盖
- 矩阵覆盖
- POJ2185 最小覆盖矩阵
- 矩阵精确覆盖问题
- 【剑指Offer】:矩阵覆盖
- 矩阵覆盖问题
- 矩阵覆盖那点事儿
- 剑指offer-12-矩阵覆盖
- 矩阵表达和方块覆盖问题
- POJ2185(最小覆盖子矩阵) #by nobody
- Milking Grid (二维KMP+矩阵覆盖)
- poj2185 Milking Grid (最小覆盖矩阵)
- poj 2185 Milking Grid (最小覆盖矩阵)
- 武大校赛资格赛 最小矩阵覆盖
- POJ Milking Grid 【最小覆盖矩阵,next[]】
- MacOS install Homebrew
- sdut-离散题目16
- Java工程师技术栈
- Android 自定义 View 的重绘和更新使用
- 【DOS命令】之 move 文件移动
- 矩阵覆盖
- 电话拨号器错误打包运行错误
- 安装win10
- usaco2.4 comehome 最短路 Floyd, Dijkstra, Dijkstra优先队列优化
- 如何通过表单上传图片数据,PHP后端获取并且保存文件数据
- sdut-离散题目18
- 【PHP】修改 配置php.ini上传文件大小的限制
- Linux操作系统基础
- 图的最短路径问题-07-图6 旅游规划