矩形覆盖-我们可以用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 };

也可以采用矩阵的方式。这里可以用循环代替递归。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM