此题显然与斐波那契数列不能说毫不相干,只能是一模一样。以
的矩形为例,其可以在左端竖着填充一个
的小矩形,之后便剩下
的大小,也可在左上端横着填充一个小矩形,那么左下端很显然也必须横着填充一个,即只剩下
的矩形待填充。故而可知
,故而,等同于斐波那契数列。则
class Solution {
public:
int rectCover(int number) {
int q1 = 1, q2 = 1, ans;
if (number == 0)
return 0;
else if (number == 1)
return q1;
number = number - 1;
while (number--) {
ans = q1 + q2;
q1 = q2;
q2 = ans;
}
return ans;
}
};
京公网安备 11010502036488号