算法刷题笔记-补全矩形

227 阅读1分钟

参考:B站UP--子烁爱学习(推荐大家观看原视频)

  • 题目描述:


  • 题目解析


    • 首先我们分析,2×3的矩形,可以由2×2和2×1的矩形通过在右边添加矩形完成,也即是前面两种方法之和

      • 2×2有两种堆法,而在2×2后面加一个竖着的2×1即可以完成2×3:2种

      • 2×1有一种堆法,而在2×1后面加两个个横着叠放的2×1即可以完成2×3,1种

  • 代码示例

    public int RectCover(int target) {
            if(target<=1){
                return target;
            }
    
            int[] combination=new int[target];
            combination[0]=1;
            combination[1]=2;
            for (int i = 2; i < target; i++) {
                combination[i]=combination[i-1]+combination[i-2];
            }
            return combination[target-1];
    
        }