初始状态单独枚举,符合公式的才进入循环。i=3;
/**
* 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。
* 请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
* @param target n个2*1的小矩形
* @return 方法总数
*/
public int RectCover(int target) {
if(target<=2){
return target;
}
int f1=1,f2=2;
int fn=f1+f2;
for(int i=3;i<=target;i++){
fn=f1+f2;
f1=f2;
f2=fn;
}
return fn;
}



京公网安备 11010502036488号