网站建设课程的感想,做网站服务器软件,ngrok 群晖wordpress,大连经济我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形#xff0c;总共有多少种方法1 利用数组结构遍历方法if(target1 || target0)return 1;int [] arr new int [target1];arr[0] 1;arr[1] 1;for(int i2;itarget;i){a… 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形总共有多少种方法 1 利用数组结构遍历方法 if(target1 || target0) return 1; int [] arr new int [target1]; arr[0] 1; arr[1] 1; for(int i2;itarget;i){ arr[i] arr[i-1]arr[i-2]; } return arr[target]; 2 不借助数组结构采用两个int型变量和一个while语句中临时变量temp if(target1 || target0) return 1; int num1 1,num2 1; while(target1){ int temp num2; num2 num1; num1temp; target--; } return num2; 3 递归 效率最低 if(target1 || target0) return 1; if(target1) return RectCover(target-1)RectCover(target-2); return 0; 在这里因为采用了OJ当我上面的 if(target1 || target0) return 1; 写成了 if(target1) return 1; if(target0) return 1; if(target1) return RectCover(target-1)RectCover(target-2); return 0; OJ系统就判断时间超时了 确实 自己想想 能判断一次 就解决的问题 你为啥要两次呢 转载于:https://www.cnblogs.com/winAlaugh/p/5347291.html