首页 > 编程语言 >每日算法之矩形覆盖

每日算法之矩形覆盖

时间:2022-12-29 14:59:26浏览次数:34  
标签:覆盖 int 复杂度 step 算法 矩形

JZ70 矩形覆盖

题目

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

数据范围:0≤n≤38 
进阶:空间复杂度 O(1)  ,时间复杂度 O(n)
注意:约定 n == 0 时,输出 0

方法 递归

思路

算法实现

2∗n的矩形的情况数为f(n)=f(n−1)+f(n−2),
即这就是一个斐波那契数列,按照斐波那契数列的解法来即可,需要注意不同点在于n小于等于2时,都只有n种。

具体做法:
    step 1:约定n等于0时输出0,当n等于1时,只有一种矩形。
    step 2:其他情况根据公式f(n)=f(n−1)+f(n−2)f(n)=f(n-1)+f(n-2)f(n)=f(n−1)+f(n−2),将两个子问题的结果相加。
    step 3:Python版本为了防止超时,需要用数组记录递归中的结果,便于直接使用。

代码

package mid.JZ70矩形覆盖;

public class Solution {
    public int rectCover(int target) {
        if(target <= 2) return target;
        return rectCover(target - 1) + rectCover(target - 2);
    }
}

标签:覆盖,int,复杂度,step,算法,矩形
From: https://www.cnblogs.com/loongnuts/p/17012509.html

相关文章

  • 图解 索引覆盖、索引下推、如何避免索引失效
    图解索引覆盖、索引下推、如何避免索引失效为了更好地进行解释,我创建了一个存储引擎为InnoDB的表user_innodb,并批量初始化了500W+条数据。包含主键id、姓名字段(name)、性......
  • 每日算法之把字符串转换成整数(atoi)
    JZ67把字符串转换成整数(atoi)题目写一个函数StrToInt,实现把字符串转换成整数这个功能。不能使用atoi或者其他类似的库函数。传入的字符串可能有以下部分组成:1......
  • 类欧几里得算法(部分)
    ##Preface欧几里得算法,就是辗转相除法。gcd(i,j)=gcd(j,i%j)##定义定义函数##推导一波显然当或者时,若当a,b均小于c怎么办?据大佬说转换成几何意义就是一条直线与x轴、y......
  • Linux内存管理-slub算法
    Slub简介Linux内核内存管理用了两个算法:伙伴算法(以页为单位的大内存)和slub算法(以字节为单位的小内存),其中slub系统运行在伙伴系统之上。slub进行内存分组管理,分......
  • m低信噪比下GPS信号的捕获算法研究,使用matlab算法进行仿真
    1.算法概述GPS系统的星座部分是由21颗工作卫星和3颗在轨备用卫星组成,其高度为20183km,这24颗卫星均匀分布在6个等间隔的、相对轨道面倾角为55º的近圆轨道上。GPS......
  • m低信噪比下GPS信号的捕获算法研究,使用matlab算法进行仿真
    1.算法概述        GPS系统的星座部分是由21颗工作卫星和3颗在轨备用卫星组成,其高度为20183km,这24颗卫星均匀分布在6个等间隔的、相对轨道面倾角为55º的近圆轨......
  • 代码随想录算法训练营第一天
     今日刷题两道:数组理论基础,704.二分查找,27.移除元素**704.二分查找题目链接:https://leetcode.cn/problems/binary-search/文章讲解:https://programmercarl.com/......
  • 算法笔记小抄
    栈和队列​​232.用栈实现队列​​225.用队列实现栈20.有效的括号1047.删除字符串中的所有相邻重复项150.逆波兰表达式求值239.滑动窗口最大值347.前K个高频元素参......
  • C++ 数学与算法系列之高斯消元法求解线性方程组
    1.前言什么是消元法?消元法是指将多个方程式组成的方程组中的若干个变量通过有限次地变换,消去方程式中的变量,通过简化方程式,从而获取结果的一种解题方法。消元法主要有代......
  • LeetCode 寻找数组的中心下标算法题解 All In One
    LeetCode寻找数组的中心下标算法题解AllInOne724.FindPivotIndex寻找数组的中心下标"usestrict";/****@authorxgqfrms*@licenseMIT*@copyr......