剑指offer-10:矩阵覆盖

it2023-11-07  72

题目描述

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

比如n=3时,2*3的矩形块有3种覆盖方法:

解题思路

该题同斐波那契数列第n项等于前一项放1块的可能加上前一项放2块的可能

代码实现

public class Solution { public int RectCover(int target) { if (target <= 0) { return 0; } if (target == 1 || target == 2) { return target == 1 ? 1 : 2; } else { return RectCover(target - 1) + RectCover(target - 2); } } }
最新回复(0)