两行代码解决矩形覆盖问题
矩形覆盖
http://www.nowcoder.com/questionTerminal/72a5a919508a4251859fb2cfb987a0e6
套路:如果遇到找存在多少种方法的时候,多半是求解一个方程,即采用递归方法;
可以先从低层矩阵找到规律:
2×1层台阶:1种
2×2层台阶:2种
2×3层台阶:3种
2×4层台阶:5种
不难推测出 f(n) = f(n-1) + f(n-2)
代码如下:
public class Solution { public int RectCover(int target) { if(target == 0 || target == 1 || target == 2){return target;} return RectCover(target-1) + RectCover(target-2); } }