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 };
也可以采用矩陣的方式。這里可以用循環代替遞歸。