题目描述

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
 
当n=0时 ,target=0;
 
当n=1时 ,target=1;
 
当n=2时 ,target=2;
 
当n=3时 ,target=3;
 
当n=4时, targe=5;
 
当n=5时, targe=8;
 
此时不难得出规律:这又是个斐波那契数列。。。。。。。。
 
老样子,直接上代码:
 
 
 

public int RectCover(int target) {
try {
if (target==0) {
return 0;
}
else if (target==1) {
return 1;
}
else if (target==2) {
return 2;
}else if (target==3) {
return 3;
}else if (target>3) {
return RectCover(target-1)+RectCover(target-2);
} else if (target <0) {
throw new Exception("不是整数");
}
} catch (Exception e) {
// TODO: handle exception
return -1;
}
return -1;
}

唉,后悔过去的二十年没有好好学数学。。。。。。
 
唉,把希望寄予下一代吧。。。。。。。。。。。。。
 
如果有小孩,一定得从小送他去奥数班才行。。。。。。。。
 

剑指offer 10.递归和循环 矩形覆盖的更多相关文章

  1. 剑指offer 8.递归和循环 跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果).   解题思路一: a.如果两种跳法,1阶或者2阶,那么假定第一次跳的是 ...

  2. 剑指offer 9.递归和循环 变态跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法.   这道题还是编程题?   数学渣渣看到心拔凉拔凉的,   要用到数学归纳法来 ...

  3. 剑指offer 7. 递归和循环 斐波那契数列

    题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). n<=39 简简单单 废话不多说,直接上代码: public class Sol ...

  4. 剑指Offer——全排列递归思路

    剑指Offer--全排列递归思路 前言 全排列,full permutation, 可以利用二叉树的遍历实现.二叉树的递归遍历,前中后都简洁的难以置信,但是都有一个共同特点,那就是一个函数里包含两次自 ...

  5. 【Java】 剑指offer(10) 旋转数组的最小数字

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. ...

  6. 剑指Offer 10. 矩形覆盖 (递归)

    题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 题目地址 https://www.nowcoder.com/ ...

  7. 剑指offer 10矩形覆盖

    我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法 java版本: public class Solution { publ ...

  8. 【剑指offer】递归循环两种方式反转链表

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/25737023 本文分别用非递归和递归两种方式实现了链表的反转,在九度OJ上AC. 题目描写 ...

  9. 剑指offer 10:矩形覆盖

    题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? public class Solution { public ...

随机推荐

  1. 前端测试时,常用SQL

    与后台联调页面,经常会验证数据正确性,这时候就需要会点SQL语句,以下是常用的SQL: 单表查询 select * from table 条件查询 select * from table where ...

  2. js 回调函数理解

    function A(callback) { console.log('我是主函数'); setTimeout(function () { callback("我是主函数传出的") ...

  3. docker 容器跑一个应用

    虽然是个前端,但是公司比较推崇docker,感觉挺神奇,就也学了一些,再此做个笔记,以供日后回想. 我的想法是在一个centos环境中运行一个nginx服务.docker的安装就不说了,网上已经有好多 ...

  4. JAVA字符串的常见处理和操作

    1.纯数字字符串补0为指定位,格式化输出(例如00482这样) 使用String.format处理: int mNumber = 1; // 0 代表前面补充0 // 4 代表长度为4 // d 代表 ...

  5. bootstrap框架下 单选按钮组的选中以及取值问题

    1.业务功能:四个按钮只能选中一个,且默认选择水准4 先看代码. <div class="btn-group" data-toggle="buttons" ...

  6. [date] 时间问题: 更新时间距离现在3个月

    public static void main(String[] args) { Date d1 = null; try { d1 = DateFormatUtil.StringToDate(&quo ...

  7. 搭建vue的开发环境

    随手笔记:win7 64bit 1.安装node,直接从node官网下载,安装即可. 2.命令行输入 node -v 查看是否安装成功,显示node的版本号即安装成功.安装成功后,输入node,进入n ...

  8. 使用Python画一个带坐标轴的圆

    Download Microsoft Visual Studio Microsoft Visual Studio enables you develop your python Application ...

  9. echarts 滚动条 缩放

    // 初始化是否需要展示滚动条,与初始显示的数据数(总数据数的百分比) var isShowScroll = false;// 是否显示滚动条,默认false不显示 var dataZoom_end; ...

  10. linux下centos解压时报错: gzip: stdin: not in gzip format   tar: Child returned status 1   tar: Error is not recoverable: exiting now

    最近在linux下安装python时,解压Python.tgz文件时遇到一个问题:          gzip: stdin: not in gzip format      tar: Child r ...