leetcode-矩形覆盖-24

题目要求
  我们可以用21的小矩形横着或者竖着去覆盖更大的矩形,请问用n个21的小矩形无重叠地覆盖一个2n的大矩形,总共有多少种方法?
思路
  采用动归的方式。
  问题:覆盖的方法个数。
  状态F(i):覆盖2
i的矩形的方法个数。
  转移方程:F(i):F(i-1)+ F(i-2)
代码实现

class Solution {
public:
	int jumpFloor(int number) {
		int f1 = 1;
		int f2 = 2;
		int f;
		if (number == 0)
		{
			return 0;
		}
		if (number == 1)
		{
			return f1;
		}
		if (number == 2)
		{
			return f2;
		}
		for (int i = 3; i <= number; i++)
		{
			f = f1 + f2;
			f1 = f2;
			f2 = f;
		}
		return f;
	}
};

猜你喜欢

转载自blog.csdn.net/weixin_43580319/article/details/114269749