剑指offer---矩形覆盖

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Android_chunhui/article/details/87925744

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

解题思路:
感觉计算有多种方法的都是吧可能次数列出来,找数列的通项公式。
n=1, 2, 3, 4, 5
c=1, 2, 3, 5, 8
从1开始的斐波那契数列

int recover(int number) {
	if (number == 1) return 1;
	if (number == 2) return 2;
	int n_1 = 2, n_2 = 1, c = 0;
	for (int i = 3; i <= number; ++i)
	{
		c = n_1 + n_2;
		n_2 = n_1;
		n_1 = c;
	}
	return c;

}

猜你喜欢

转载自blog.csdn.net/Android_chunhui/article/details/87925744