简单的递归
当n=1时,只能竖着覆盖,f(1)=1;
当n=2时,既可以横着覆盖,也可以竖着覆盖,f(2)=2;
当n=N时,只需要考虑第一块如何覆盖即可,详见下图:
代码如下:
public int rectCover(int target) { if (target <= 0) { return 0; } if (target == 1) { return 1; } if (target == 2) { return 2; } return rectCover(target - 1) + rectCover(target - 2); }