剑指Offer编程题--矩形覆盖

告别U盘!在Ubuntu 22.04上从零搭建PXE网络装机服务器(支持UEFI/Legacy双启动) 本文详细介绍了在Ubuntu 22.04上搭建PXE网络装机服务器的完整流程,支持UEFI/Legacy双启动模式。通过配置DHCP、TFTP和HTTP服务,实现无需U盘的高效批量系统部署,解决传统安装方式的介质依赖、版本控制和时间成本问题,显著提升机房维护和设备部署效率。 阅读详情

题目链接:矩形覆盖

题意:

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

解题思路:

 将一个问题缩小化,分治法

如果如果选择竖方向填充,那么该问题的规模就缩减为对于剩余的2×(number-1)的大矩形的填充。方法数为 rectCover(n-1)

如果选择横方向的填充,则第二排的前面两个小矩形也只能如此填充,那么该问题的规模就缩减为对于剩余的2×(number-2)的大矩形的填充。方法数为 rectCover(n-2)

加起来即为总数

class Solution {
public:
    int rectCover(int number) {
        int f1 = 1, f2 = 1;
        if(number <= 0){
            return 0;
        }
        else if(number == 1){
            return 1;
        }
        else{
            int f3 = 0; 
            for(int i = 2; i <= number; i++){
                f3 = f1 + f2;
                f1 = f2;
                f2 = f3;
            }
            return f3;
        }
    }
};

 

Camera2Demo 在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作 立即下载

相关推荐

轴承寿命预测实战:手把手教你用IEEE PHM2012数据集训练模型(附Python代码)

本文详细介绍了如何利用IEEE PHM2012数据集构建轴承剩余寿命预测模型,从数据预处理、特征工程到LSTM模型训练与部署,提供了完整的Python代码实现。通过实战案例,帮助读者掌握预测性维护中的关键技术,提升工业设备的运行安全与效率。

weixin_29186249的博客 311

笔试编程题之矩形覆盖

题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 思路:利用递归,不难发现,类似于斐波那契数列。 public class Solution { public int RectCover(int target) { if(target<=2){ ...

青木宫的博客 474

MTK眼中6G物理层与无线协议的进化之路

提议统一波束和小区级的测量、报告和切换框架/流程,进一步减少移动性切换过程中的中断,采用可扩展框架/流程,允许在不同移动性场景中进行部分用户设备配置更新以实现快速切换,支持用户设备发起的移动性(同步/切换)以降低延迟和因信令交换导致的失败,设计移动性RS以实现空闲状态下的节能和连接状态下的无缝用户体验,实现5G/6G间的无缝互操作移动性,为固定无线接入(FWA)提供潜在增强,构建统一的跨层移动性框架以降低复杂度、减少中断和失败。为适应多样化的流量类型,需要灵活的帧结构和高层时间对齐。

asd199086的博客 1745

【编程题】矩形覆盖(Java实现)

【编程题】矩形覆盖(Java实现) 题目来源 剑指offer第10题 https://www.nowcoder.com/practice/72a5a919508a4251859fb2cfb987a0e6?tpId=13&tqId=11163&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interv...

qq_40432108的博客 278

【49】Camunda8-Self-Managed部署之Docker方式

围绕camunda8 self-managed,介绍了基于Docker部署相关服务的过程。

AlieNeny的博客 1682

EDKII实战:手把手调试PciHostBridge.c,看UEFI如何分配你的PCIe设备资源(IO/Memory空间)

本文深入解析EDKII中PciHostBridge.c模块的工作原理,详细指导如何调试PCIe设备资源分配(IO/Memory空间)。通过实战案例展示UEFI环境下Root Bridge初始化、地址空间转换及协议安装等核心流程,提供常见问题排查方法与性能优化建议,帮助开发者解决PCIe设备兼容性问题。

weixin_29201933的博客 208

剑指offer 编程题(9):矩形覆盖

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

coolwriter的博客 371

uniapp - [微信小程序 | 安卓苹果app] 详细实现接入天地图完整流程,提供显示地图、IP 属地定位 / 用户定位的城市名称、用户定位的经纬度超多功能(复制运行示例代码,详细注释及常见问题)

uni-app,微信小程序,安卓app,苹果app,App端,支付宝小程序,nvue,天地图,国家天地图api,接入使用天地图,uniApp小程序端接入天地图,uniapp安卓苹果app端接入天地图,微信小程序平台如何引入天地图,天地图Api使用教程,如何在uniapp里集成天地图,使用天地图获取当前定位,天地图api教程,天地图官方文档,天地图详细使用教程,Uniapp项目如何使用天地图,项目引入天地图配置及使用教程,使用天地图获取用户定位,天地图获取用户当前位置信息(经纬度),如何通过天地图拿到用户定位

🏆 前端领域优质创作者 1万+

剑指offer编程题(JAVA实现)——第10题:矩形覆盖

/** * 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。 * 请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? * * */ public class Test10 { /** * * 如果先摆一块,那么接下去的就是RectCover(target-1); * 如果先摆两块,那么接下去的就是RectCover(target-2)。...

JZ 9591

量产导入 | 产品可靠性测试标准完整大集合(JEDEC/IEC/SAE…)

产品可靠性测试是产品质量保证中的重要一环, 包含有Pre-con, aging(寿命)和ESD(静电)等, 下面就收集了权威标准JEDEC全系列, 请参照如下 同时也附上其它的可靠性标准供大家参考及交叉理解, 可能侧重点不同, 大家可以参考下。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 1663

5、硬件工程师笔试面试——上拉电阻、下拉电阻(2025版本)

本文系统介绍了上拉电阻和下拉电阻的原理与应用。上拉电阻通过连接电源确保电路高电平状态,常用于数字电路防抖、OC门驱动等场景;下拉电阻连接地线维持低电平,适用于低电平触发电路。文章详细分析了两种电阻的选择方法、功耗与响应速度的平衡策略,以及在高速信号传输中的影响差异。同时对比了二者的优缺点,并提供了模拟电路中的应用实例。最后给出了电阻值计算的工程方法,为硬件工程师的电路设计提供了实用参考。

XU157303764的博客 2868

剑指offer编程题解法汇总10-矩形覆盖

题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 解题思路: 这道题其实就是一个斐波那契数列。 比如F(4)=F(3)+F(2),如下图所示: F(1)=1,F(2)=2,F(3)=F(1)+F(2)=3就这样递归下去。 /** * 矩形覆盖 */ public class ...

分享+记录 449

推荐一个直接用于项目开发的PID库!很好用,很稳定

关注、星标公众号,不错过精彩内容大家好,我是小麦。最近有朋友问到有没有现成的C语言PID库。当然有了!现在我就准备给大家安利一下了。一般同学会去某度上搜,看到各种各样版本的PID示例,或者...

一名热爱技术的工程师的博客。分享技术干货,记录美好生活。永远相信美好的事情即将发生。 9025

Java版剑指offer编程题第10题--矩形覆盖

        跟learnjiawa一起每天一道算法编程题,既可以增强对常用API的熟悉能力,也能增强自己的编程能力和解决问题的能力。算法和数据结构,是基础中的基础,更是笔试的重中之重。 不积硅步,无以至千里; 不积小流,无以成江海。 文章目录题目描述我的想法解题方法1代码测试总结参考文献更多 题目描述 Jav...

learnjiawa的博客 379

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

剑指offer 编程题 矩形覆盖

题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 令覆盖2*n的大矩形的方案数为f(n), 如果将2*1的小矩形竖着覆盖,还剩2*n-1个竖着的大矩形,那么等价于f(n-1),如果横着覆盖,下面也必须要横着覆盖,还剩2*n-2大矩形,所以最后的方案数就是f(n) = f(n-1) + f(n-2) ...

wwxy1995的博客 245

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

牛客网 剑指offer_编程题矩形覆盖

前言: 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 我大体画了一下图,找了一下规律 一样还是递归 斐波那契数列 class Solution { public: int rectCover(int number) { if(number <= 0) retur...

shenmingyi.blog.youkuaiyun.com 529

剑指Offer_编程题(C#实现)_ 矩形覆盖

题目:矩形覆盖 题目描述 我们可以用2x1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2x1的小矩形无重叠地覆盖一个2xn的大矩形,总共有多少种方法? 解题思路 当n=1时,记作F(1), 共有1种方法; 当n=2时,记作F(2), 共有两种方法; 当n=3时,记作F(3), 分为两种情况: 第一次用一个矩形竖着覆盖,则剩下共有F(n-1)种方法,即F(2) 种方法; 第一次用一个矩形横着覆盖...

SunBo__优快云的博客 350

剑指Offer_编程题10:矩形覆盖

题目:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 牛客网:链接 以2x8的矩形为例。示意图如下: 我们先把2x8的覆盖方法记为f(8)。用第一个1x2小矩阵覆盖大矩形的最左边时有两个选择,竖着放或者横着放。当竖着放的时候,右边还剩下2x7的区域,这种情况下的覆盖方法记为f(7)。接下来考虑横着放的情况。...

卷卷萌的博客 436

【剑指Offer面试编程题】题目1390:矩形覆盖--九度OJ

本题应结合辅助图形来做题,边推导的同时边画图。本题首先需要处理的是,跳出n为偶数的陷阱。因为紧从偶数的角度思考,我们无法建立各数据之间的联系。当从所有的数考虑时,考虑第n个矩形,我们有两种摆放方式:第一种,竖着放,刚好占用第n个矩阵,这样前面n-1个矩形任意摆放,有第n-1个矩形种摆放方式;第二种,横着放,这样,第n-1个矩形也被占用了,所以只有第n-2个矩形种摆放方式。这不正是斐波拉契数列的类型么,而且当n==0 1 2时摆放很容易确定,这也是递推的基础。

一路向前 848

牛客网-剑指offer[编程题]矩形覆盖 js详解

分情况讨论: n=1时:只有一种情况 n=2时:有两种情况 其他的就和跳台阶问题差不多了,一共两种可能加起来就是 rectCover(n - 1) + rectCover(n - 2);递归轻松解决 function rectCover(n) { if(n === 0)return 0; if(n === 1)return 1; if(n === 2)return 2...

kotoriyou的博客 173

剑指Offer_编程题_斐波那契数列_跳台阶_变态跳台阶_矩形覆盖

这几道题目的解题思路类似所以放在一起 递归:程序调用自身的编程技巧称为递归( recursion) 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 补充说明: 斐波那契数列(Fibonacci sequence):又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁...

浮煌的博客 432

【牛客网】剑指offer编程题:矩形覆盖(C++)

这个题目和之前跳台阶的题目解法类似,要么一次跳一步(竖着放),要么一次跳两步(横着放):

Orange_Panda1997的博客 225

【剑指Offer】文章索引(未完)

下面是牛客网剑指Offer编程题的一些解题报告,目前还没刷完,会一篇篇加上来。 跳台阶 变态跳台阶 矩形覆盖 重建二叉树 替换空格 用两个栈代替队列 斐波那契数列 二进制中 1 的个数

zgljl2012的专栏 1836

剑指offer 010、矩形覆盖

剑指offer 010、矩形覆盖 题目 题解 emmm太笨了,刚开始没读懂题,找了好半天的题解才明白题目是什么意思。 这道题的意思是我们要用 n 个 2*1的小矩阵 横着 / 竖着 去覆盖更大的矩形 规定: 那么, n = 1 时 只能横着覆盖,一种 n = 2 时 横着覆盖,一种 竖着覆盖,一种 总共有2种 n = 3 时 第三级横着覆盖,用了两块,剩下n = 1,有一种覆盖方法 第三级竖着覆盖,用了一块,剩下n = 2,有两种覆盖方法 总共有3种 n = 4 时 第四级横着覆

ClimberCoding 109

剑指Offer——矩形覆盖

剑指Offer_编程题 矩形覆盖 用2x1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2x1的小矩形无重叠地覆盖一个2·n的大矩形,总共有多少种方法? int rectCover(int number) { int result = 0; if(number < 3) result = number; els...

Bana bo^o的博客 189

剑指offer 矩形覆盖

剑指offer题型分类及各题的解题思路与代码(<---点我跳转 ^ - ^) 1、题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 2、初始结构如下 class Solution { public: int rectCover(int number) { } }; ...

请叫我皮皮虾的博客 197

剑指Offer第十题:矩形覆盖

剑指Offer第十题:矩形覆盖 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 根据第一个矩形是横着还是竖着分为两种 递归 public class Solution { public int RectCover(int target) { if(target <= 0){ return 0; } if(target == 1){

qq_39534402的博客 140
上一篇: 剑指Offer编程题--二进制中1的个数
下一篇: 剑指Offer编程题--跳台阶
error0318
博客等级 码龄9年 57粉丝 515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值