zoukankan      html  css  js  c++  java
  • 剑指offer 10.递归和循环 矩形覆盖

    题目描述

    我们可以用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;
    }

    唉,后悔过去的二十年没有好好学数学。。。。。。
     
    唉,把希望寄予下一代吧。。。。。。。。。。。。。
     
    如果有小孩,一定得从小送他去奥数班才行。。。。。。。。
     
  • 相关阅读:
    PHP学习—了解篇2
    PHP学习—了解篇
    德国山寨史
    Network client/server
    Linux (二) vi
    I2C 总线协议
    Verilog (二) multiplexer and decoder
    有限状态机HDL模板
    "德意志之歌"的历史
    【转】java与.net比较学习系列(3) 基本数据类型和类型转换
  • 原文地址:https://www.cnblogs.com/Transkai/p/10760120.html
Copyright © 2011-2022 走看看