58 矩形覆蓋

2021-07-12 01:01:25 字數 567 閱讀 5881

矩形覆蓋

我們可以用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的基礎上加...