10.我們可以用2*1的小矩形橫着或者豎着去覆蓋更大的矩形。 請問用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法?


我們可以用2*1的小矩形橫着或者豎着去覆蓋更大的矩形。

請問用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法?

 

是不是發現看不懂,哈哈;編程題就是這樣,一定要歸納,手寫過程;

n = 1,則 1;

n = 2.則1,1橫1,1豎;是不是有點眼熟;

n= 3,則1,1,1橫,1,1橫1豎,1豎1,1,橫;。。。還要再說么?

 

主要是抽象成數列,然后找規律了。

【1、1】【2、2】【3、3】【4、5】【5、8】

注意不能省2,因為0為0;

public class Solution {
public int RectCover(int target) {
  if(target == 0 || target == 1 || target == 2) {
    return target;
  }

  return RectCover(target-1)+RectCover(target-2);
  }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM