【剑指Offer】:矩阵覆盖
来源:互联网 发布:linux 文件高级权限 编辑:程序博客网 时间:2024/05/23 15:38
一:题目描述
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
二:解题分析
完成第n列的拼接,由两个途径
1.小矩阵竖着放,此时实现矩阵全部拼接的方式与拼接 2*(n-1)的矩阵相同
2.小矩阵横着放,则第n-1列与第n列共用横着的小矩阵,此时实现矩阵全部拼接的方式与拼接 2*(n-2)的矩阵相同
所以拼接完2*n的矩阵,共有f(n)=f(n-1)+f(n-2)种方法
三:代码实现
class Solution {public: int rectCover(int number) {//第n列 采用竖着放,拼接的方法数与f(n-1)相同 //第n列,采用横着放的方式,则n-1列是和共用横着的小矩阵,拼接的方法与f(n-2)相同 //拼接完成第n列,总的方法数f(n)=f(n-1)+f(n-2) //所以和跳台阶的解法是相同的 vector<int> numOfMethod; numOfMethod.push_back(0); numOfMethod.push_back(1); numOfMethod.push_back(2); for(int i=3;i<=number;i++) numOfMethod.push_back(numOfMethod[i-1]+numOfMethod[i-2]); return numOfMethod[number]; }};
阅读全文
0 0
- 【剑指Offer】:矩阵覆盖
- 剑指offer-12-矩阵覆盖
- 剑指offer——矩阵覆盖
- 【剑指offer】题9:矩阵覆盖
- [牛客网,剑指offer,python] 矩阵覆盖
- 剑指offer(C++)——矩阵覆盖
- 剑指offer--矩形覆盖
- 剑指offer--矩形覆盖
- 《剑指offer》矩形覆盖
- 剑指offer 矩形覆盖
- 《剑指offer》矩形覆盖
- 剑指 offer:矩形覆盖
- 【剑指Offer】矩形覆盖
- 剑指offer 矩形覆盖
- 剑指offer-矩形覆盖
- 剑指Offer 矩形覆盖
- 剑指offer 矩形覆盖
- [剑指offer]矩形覆盖
- 电商图片降质--nginx解决方案
- 遗传算法的matlab实现
- 基于梯度上升算法的Logistic回归
- 机器学习---opencv实现简单的KNN算法
- LeetCode 71 Simplify Path (栈)
- 【剑指Offer】:矩阵覆盖
- JS简单实现自定义弹窗及程序中断,继续效果
- Mac常用终端命令
- python 库收藏
- 如何在table的每一行添加点击事件
- hdu2037 今年暑假不AC
- 网络安全揭秘
- 找出字符串中特定字符出现的次数的实现(分拣思路)
- 【NP-完全问题】课后习题8.3