矩形覆盖

描述

我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

思路

找到转移方程即可求解

注意

target 小于 2 的特殊条件一定要写,不然 target 小于 3 却没写特殊条件判定,就会出现数组越界异常

代码

public class Solution {
    public int RectCover(int target) {
        if (target <= 2) {
            return target;
        }
        
        int[] dp = new int[target + 1];
        dp[1] = 1;
        dp[2] = 2;
        
        for (int i = 3; i <= target; i++) {
            dp[i] = dp[i-1] + dp[i-2];
        }
        
        return dp[target];
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目:我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总...
    qming_c阅读 485评论 0 0
  • 矩形覆盖 题目描述 我们可以用(2*1)的小矩形横着或者竖着去覆盖更大的矩形。请问用n个(2*1)的小矩形无重叠地...
    echoVic阅读 779评论 0 3
  • 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多...
    MAXPUP阅读 192评论 0 0
  • 题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,...
    SeanC52111阅读 399评论 0 0
  • 与其追求开悟,不如运用理性和良心去磨砺心志,一般人很难达到真正开悟境地,就连老先生这么伟大的人都难以做到,更何况我...
    张伟99阅读 238评论 0 0

友情链接更多精彩内容