矩形覆盖-我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
1 class Solution { 2 public: 3 int rectCover(int number) { 4 int res=0; 5 int pre1=1; 6 int pre2=2;
if(number==0) return 0; 7 if(number==1) return 1; 8 if(number==2) return 2; 9 for(int i=3;i<number+1;i++){ 10 res=pre1+pre2; 11 pre1=pre2; 12 pre2=res; 13 } 14 return res; 15 } 16 };
也可以采用矩阵的方式。这里可以用循环代替递归。
联系方式:emhhbmdfbGlhbmcxOTkxQDEyNi5jb20=