使用归纳法分析有以下情况:
当n<=0时:直接返回0
当n=1时:只要一种解法" | ",返回1
当n=2时:有两种解法"="和 "| | "
当n=3时:有 "= |" "| =" "| | |"
同理当n=4的时候只要在n=3的基础上加一个2*1矩形可得 "= | |" "| = |" "| | | |"
"= =" "| | ="
所以可以推出递推关系式为f(n) = f(n-1) + f(n-m),(n > m)。
public class Solution {
public int RectCover(int target) {
if(target==0){
return 0;
}
else if(target==1){
return 1;
}
else if(target==2){
return 2;
}else{
return RectCover(target-1)+RectCover(target-2);
}
}
}
原文:https://www.cnblogs.com/blzm742624643/p/12237054.html