题目描述:
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
解题方法:
function rectCover(number) { // write code here if(number <= 2){ return number; } //还是斐波那契数列的一个形式转换,用n个小矩形 //第一次放了1*2的小矩形(一块就没有缺口了),剩下的和摆放n-1个小矩形放法相同 //第一次放了2*1的小矩形(放两块才没有缺口),剩下的和摆放n-2个小矩形放法相同 var prepre = 1 var pre = 2; var now = 0; for(var i = 3;i <= number;i++){ now = pre + prepre; prepre = pre; pre = now; } return now; }
原文地址:https://www.cnblogs.com/3yleaves/p/9589164.html
时间: 2024-10-15 06:10:49