《劍指offer》(JAVA版)——矩形覆蓋

一、題目描述

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

輸入:一個整數n
輸出:覆蓋方法種數

牛客NOWCODER

二、思路分析

思路和斐波那契數列類似。但f(1) = 1, f(2) = 2。

三、實現代碼
public class Solution {
    public int RectCover(int n) {
        if(n <= 0){
            return 0;
        }

        if(n == 1){
            return 1;
        }

        int oneTemp = 1;
        int twoTemp = 1;

        for (int i = 2; i <= n; i++) {
            int temp = oneTemp + twoTemp;
            oneTemp = twoTemp;
            twoTemp = temp;
        }

        return twoTemp;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章