剑指offer:矩形覆盖(动态规划)
其实就是斐波那契数列 或者跳台阶,根据前面的值确定后面的可能性
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
最后只能是竖着放一个或者横着放两个
f(2)=1+f(2-1);
f(3) = f(3-2)+f(3-1)
f(4) = f(4-2)+f(4-2)
public int RectCover(int number) { if(number<=0) return 0; int f0 =1, f1 = 1; for(int i=2; i<=number;i++){ int temp = f0; f0 = f1; f1 = temp + f1; } return f1; }
posted on 2017-08-26 23:10 zhangxiaoyu 阅读(187) 评论(0) 收藏 举报
浙公网安备 33010602011771号