美文网首页
Day10 剑指offer:覆盖大矩形

Day10 剑指offer:覆盖大矩形

作者: zheng7 | 来源:发表于2017-08-08 12:34 被阅读0次

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

    public class Solution {
        public int RectCover(int target) {
             if(target == 1) return 1;
            else if(target == 2) return 2;
            else{
                int res = 0;
                int a = 1;
                int b = 2;
                for(int i=3; i<=target; i++){
                    res = a + b;
                    a = b;
                    b = res;
                }
                return res;
            }
                
        }
    }
    

    target=1;return 1;
    target=2;return 2;
    target > 2;
    分两种情况:第一种情况:第一个竖直放置 target-1种情况;
    第二种情况:前两个位置水平放置,target-2种情况;
    综上:return (target-1)+(target-2)。
    即:斐波那契数列。

    相关文章

      网友评论

          本文标题:Day10 剑指offer:覆盖大矩形

          本文链接:https://www.haomeiwen.com/subject/jqkalxtx.html