zoukankan      html  css  js  c++  java
  • 【递归】矩形覆盖

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

     1 public class Solution {
     2     public int RectCover(int target) {
     3         if (target <= 0) { // target == 0,需要0个小矩形
     4             return 0;
     5         } else if (target == 1) { // target == 1,需要1个小矩形
     6             return 1;
     7         } else if (target == 2) { // tareget == 2,需要2个小矩形
     8             return 2;
     9         } else {
    10             // target == n
    11             // 分两种情况:1.第一个小矩形竖放,还有f(target-1)种方法;2.第一个矩形横放,还有f(n-2)种方法,因为第1个确定之后,第二个也就确定了。
    12             return RectCover(target - 1) + RectCover(target - 2);
    13         }
    14     }
    15 }
  • 相关阅读:
    记录我发现的第一个关于 Google 的 Bug
    iOS 中的 Delayed Transition
    Appstore|IPA
    地图|定位
    开发者账号
    App跳转
    国际化
    短信|彩信
    闪光灯
    Cornerstone|SVN
  • 原文地址:https://www.cnblogs.com/jiangyi-uestc/p/5839949.html
Copyright © 2011-2022 走看看