矩形覆盖问题
来源:互联网 发布:淘宝投诉盗图原始图片 编辑:程序博客网 时间:2024/06/05 08:20
问题:
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
思路分析:
看到这个问题,首先有点蒙。但是我注意到它的举行是2*1的,而且大矩形是2*n的
我就联系之前做的青蛙跳台阶的问题,青蛙一次可以调1阶或者2阶,对照这个题
大矩形可以由小矩形横着放也就是对应的2,竖着放也就是对应的1,其实无论如何只有两种选择不是1就是2
就是从原来的已经占据了大矩形2*(n-1)的再竖放,或者是2*(n-2)再横放。
符合斐波那契数列的特点。
但是注意到当n = 0是,只有0中;
当n = 1时,只有1种;
当n = 2时,有两种。之后的就具有斐波那契数列的特点了。
部分代码:
public int RectCover(int target) {
if(target == 0){
return target;
}
if(target == 1){
return target;
}
if(target == 2){
return target;
}
if(target>2){
return RectCover(target - 2) + RectCover(target - 1);
}
return 0;
}
我自豪的夸夸我,好聪明啊,哈哈哈哈哈
阅读全文
0 0
- 矩形覆盖问题
- 矩形覆盖问题
- 矩形覆盖问题
- 矩形覆盖问题
- 矩形覆盖问题
- 剑指offer矩形覆盖问题
- 【剑指offer】矩形覆盖问题
- 剑指offer(10):矩形覆盖问题
- 剑指offer——矩形覆盖问题
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 矩形覆盖
- 安卓隐藏虚拟键
- 快速找到1到N中缺少的一个数字
- 源码(六)
- Python Socket 网络编程
- oracle dg迁移主库
- 矩形覆盖问题
- J2EE J2SE J2ME 是什么
- apche配置
- openoffice 就是垃圾!
- Java线程池ExecutorService
- stl.list正确erase方法
- C语言编译、链接过程
- AlertDialog提示对话框各种使用方法!
- Android 实现屏幕底部弹出Dialog