一、矩形覆盖:
1.题目描述:
我们可以用2 * 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2 * 1的小矩形无重叠地覆盖一个2 * n的大矩形,总共有多少种方法?
2.解题思路:
解法一:排列组合,假设竖方块的数量是y,横方块的数量是x,可知x+2*y=target,用for循环遍历x,并用递归的方法对数量为x的横方块和数量为y的竖方块进行排列组合。(比较复杂)
排列的定义:从n个不同元素中,任取m(m≤n,m与n均为自然数,下同)个元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列;
组合的定义:从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;
解法二:斐波那契数列,经过举例发现该问题符合菲波那切数