矩形覆蓋
我們可以用2*1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋乙個2*n的大矩形,總共有多少種方法?
斐波那契數列
2*n的大矩形,和n個2*1的小矩形
其中target*2為大矩陣的大小
有以下幾種情形:
1⃣️target <= 0 大矩形為<= 2*0,直接return 1;
2⃣️target = 1大矩形為2*1,只有一種擺放方法,return1;
3⃣️target = 2 大矩形為2*2,有兩種擺放方法,return2;
4⃣️target = n 分為兩步考慮:
第一次擺放一塊 2*1 的小矩陣,則擺放方法總共為f(target - 1) √√
第一次擺放一塊1*2的小矩陣,則擺放方法總共為f(target-2)
因為,擺放了一塊1*2的小矩陣(用√√表示),對應下方的1*2(用××表示)擺放方法就確定了,所以為f(targte-2)√√
××
**:
class solution
};
矩形覆蓋問題
問題描述 用2 1的小矩形橫著或者豎著去覆蓋更大的矩形。現在問用8個2 1的小矩形無重疊地覆蓋乙個2 8的大矩形,總共有多少種方法?矩形如下 分析 我們可以把2 8的覆蓋方法記為f 8 用第乙個1 2的矩形去覆蓋大矩形的最左邊時有兩個選擇,豎著放或橫著放。如果豎著放,那麼右邊還剩2 7的矩形區域,這...
矩形覆蓋(python)
原始碼 我們可以用2 1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2 1的小矩形無重疊地覆蓋乙個2 n的大矩形,總共有多少種方法?coding utf 8 依舊是斐波那契數列 2 n的大矩形,和n個2 1的小矩形 其中 2 target 為大矩陣的大小 有以下幾種情形 1 target 0 大...
10 矩形覆蓋
乙隻青蛙一次可以跳上 1 級台階,也可以跳上 2 級。求該青蛙跳上乙個 n 級的台階總共有多少種跳法。n 1 只有橫放乙個矩形一種解決辦法 n 2 有橫放乙個矩形,豎放兩個矩形兩種解決辦法 n 3 n 2的基礎上加1個橫向,n 1的基礎上加2個豎向 n 4 n 3的基礎上加1個橫向,n 2的基礎上加...