我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。

请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

 

是不是发现看不懂,哈哈;编程题就是这样,一定要归纳,手写过程;

n = 1,则 1;

n = 2.则1,1横1,1竖;是不是有点眼熟;

n= 3,则1,1,1横,1,1横1竖,1竖1,1,横;。。。还要再说么?

 

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

主要是抽象成数列,然后找规律了。

【1、1】【2、2】【3、3】【4、5】【5、8】

注意不能省2,因为0为0;

public class Solution {
public int RectCover(int target) {
  if(target == 0 || target == 1 || target == 2) {
    return target;
  }

  return RectCover(target-1)+RectCover(target-2);
  }
}

相关文章:

  • 2022-01-21
猜你喜欢
  • 2022-03-10
  • 2022-12-23
  • 2022-01-21
  • 2022-12-23
  • 2022-12-23
  • 2021-05-18
  • 2022-12-23
相关资源
相似解决方案