【力扣C++】爬楼梯

news2024/11/16 13:40:10

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

示例 1:

输入:n = 2
输出:2
解释:有两种方法可以爬到楼顶。
1. 1 阶 + 1 阶
2. 2 阶

示例 2:

输入:n = 3
输出:3
解释:有三种方法可以爬到楼顶。
1. 1 阶 + 1 阶 + 1 阶
2. 1 阶 + 2 阶
3. 2 阶 + 1 阶

通过规律观察发现:

楼顶数:1        2        3        4        5        6

方法数:1        2        3        5        8        13

1.递归

int F(int n)
{
    if(n<=2)
        return n;
    else
        return F(n-1)+F(n-2);
}

2.记忆递归

int arr[46]={0};
F(int n)
{
    if(n<=2)
        return n;
    if(arr[n]!=0)
        return arr[n];
    else
        return arr[n]=F(n-1)+F(n-2);
}

3.动态规划(减少了递归带来的内存申请)

int F(int n){
    int arr[46]={0};
    arr[1]=1,arr[2]=2;
    for(int i=3;i<n+1;i++)
    {
        arr[i]=arr[i-1]+arr[i-2];
    }
    return arr[n];
}

4.滚动数组

int F(int n) {
    int a = 0, b = 0, r = 1;
    for (int i = 1; i <= n; ++i) {
        a = b;
        b = r;
        r = a + b;
    }
    return r;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1857720.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决Playwright在Ubuntu下启动报错的问题:从环境到依赖的全面优化

在Ubuntu环境中使用Python进行web自动化测试时,Playwright是一个非常强大的工具。然而,在具体实践中,我们常常会遇到各种错误,尤其是在不同Python版本和依赖版本之间切换时。本文将详细介绍如何应对这些问题,并提供一些解决方法。 问题背景 在使用Playwright时,我们有时…

docker-compose离线安装harbor

1、下载harbor goharbor下载&#xff1a;Releases goharbor/harbor GitHub harbor-offline-installer-v2.11.0.tgz 2、解压 tar -xvf harbor-offline-installer-v2.11.0.tgz 3、创建一个卷目录&#xff0c;并复制一份配置文件 cd harbor; mkdir data;cp harbor.yml.tmp…

Linux 安装、配置Tomcat 的HTTPS

Linux 安装 、配置Tomcat的HTTPS 安装Tomcat 这里选择的是 tomcat 10.X ,需要Java 11及更高版本 Binary Distributions ->Core->选择 tar.gz包 下载、上传到内网服务器 /opt 目录tar -xzf 解压将解压的根目录改名为 tomat-10 并移动到 /opt 下, 形成个人习惯的路径 /…

[Linux]缓冲区

一、概念 缓冲区&#xff0c;也称为缓存&#xff0c;是内存空间的一部分。也就是说&#xff0c;在内存空间中预留了一定的存储空间&#xff0c;用来缓冲输入或输出的数据。这个保留的空间称为缓冲区。 缓冲区的主要作用就是提高效率&#xff1a; 提高使用者的效率&#xff0…

【吊打面试官系列-Mysql面试题】NULL 是什么意思?

大家好&#xff0c;我是锋哥。今天分享关于 【NULL 是什么意思&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; NULL 是什么意思? 答&#xff1a;NULL 这个值表示 UNKNOWN(未知):它不表示“”(空字符串)。对 NULL 这个值的任何比较都会生产一个 NULL 值。您不能…

Qt项目天气预报(6) - 引入QMap: debug+更新天气图片

QMAP 解决bug (&#xff09; bug描述 由于json文件中有的地方不带市&#xff0c;有的地方带县&#xff0c;有的地方是区&#xff0c;我们匹配不上这个地方&#xff0c;我们可以使用QString进行字符串拼接来实现。 另外&#xff0c;我们之前的 getCityCodeFromName()函数写得…

使用python连接dy直播间的websocket消息,竟然一会就自动断开了

使用python的websocket创建一个客户端连接直播间的消息&#xff0c;可是过一会就自动断开了&#xff0c;使用rust尝试连接也是一样的效果&#xff0c;过一会就自动断开了&#xff0c;而且报错&#xff1a; 我们先使用python建立一个客户端试一下&#xff1a; # 导入websocket-…

免费的AI在线写作工具,让写作变的更简单

在如今的时代&#xff0c;写作已经成为了我们日常生活中不可或缺的一部分。无论是自媒体创作者、学生还是办公职场人员&#xff0c;都有内容创作的需求。然而&#xff0c;写作过程往往伴随着灵感枯竭、查找资料费时等问题。下面小编就来和大家分享几款免费的AI在线写作工具&…

桌面编辑器ONLYOFFICE 功能多样性快来试试吧!

目录 ONLYOFFICE 桌面编辑器 8.1 ONLYOFFICE介绍 主要功能和特点 使用场景 1.PDF编辑器 2.幻灯片版式 3.编辑&#xff0c;审阅和查看模式 4.隐藏连接到云版块 5.RTL语言支持和本地化选项 6.媒体播放器 7、其他新功能 8.下载 总结 ONLYOFFICE 桌面编辑器 8.1 官网地…

视频监控EasyCVR视频汇聚/智能边缘网关:EasySearch无法探测到服务器如何处理?

安防监控EasyCVR智能边缘网关/视频汇聚网关/视频网关属于软硬一体的边缘计算硬件&#xff0c;可提供多协议&#xff08;RTSP/RTMP/国标GB28181/GAT1400/海康Ehome/大华/海康/宇视等SDK&#xff09;的设备接入、音视频采集、视频转码、处理、分发等服务&#xff0c;系统具备实时…

数字人视频剪辑解决方案,个性化定制服务

如何高效、专业地剪辑出高质量的数字人视频&#xff0c;却成为众多企业面临的难题。针对这一挑战&#xff0c;美摄科技凭借其在人工智能、计算机视觉等领域的深厚积累&#xff0c;推出了面向企业的数字人视频剪辑解决方案&#xff0c;为企业带来前所未有的视频制作新体验。 一…

Spring Cloud学习:如何实现Gateway 服务网关限流

目录 一、Spring Cloud介绍二、什么是服务网关三、Gateway的优势和应用场景四、如何实现Gateway 服务网关限流 一、Spring Cloud介绍 Spring Cloud是一个基于Spring Boot的微服务架构开发工具集&#xff0c;它整合了多种微服务解决方案&#xff0c;为开发者提供了一站式的微服…

智慧协同革新工业设计,创作评审无界畅达

工业产品研发是一个结合了创意、艺术和技术的综合性行业。设计师们通过深入理解文化、市场和消费者需求&#xff0c;运用各种材料和工艺&#xff0c;创造出具有独特魅力和价值的工业产品。这个行业涵盖了从设计、制作到销售等多个环节&#xff0c;需要团队成员之间的紧密协作和…

银联支付,你竟然还不知道它怎么工作?

银联支付咱都用过&#xff0c;微信和支付宝没这么“横行”的时侯&#xff0c;我们取款、转账、付款时用的ATM机、POS机&#xff0c;都是银联支付完成的。 今天&#xff0c;就让咱们了解一下银行卡支付的工作原型。 首先&#xff0c;说说中国银联 中国银联&#xff08;China U…

如何区分应用所在的运行环境?

常见的应用运行环境主要有&#xff1a;物理机、虚拟机、容器或 K8s&#xff0c;那么如何确定应用运行在哪种未知环境下呢&#xff1f;本文主要介绍如何通过一种简单方式来判断应用当前所在的运行环境。 1 物理机 物理机和虚拟机因为都是完整的操作系统。因此可以用dmidecode来…

ETO MARKETS:美股涨势告急?通胀风暴或成市场新拐点

摘要&#xff1a; 近期美股涨势引发了市场对其可持续性的质疑。随着通胀数据的发布&#xff0c;全球利率前景可能面临新的变化。投资者需关注即将到来的通胀数据及其对市场的影响。本周的市场波动加剧&#xff0c;政治风险和经济数据共同作用&#xff0c;将为未来的市场走向提…

《计算机英语》Unit 1 Computer Overview 计算机概述

期末试卷组成 1、选择20道 2、判断20道 3、词汇翻译&#xff08;单词词组&#xff0c;参照课后习题&#xff09; 4、翻译2道&#xff08;一道原题&#xff0c;参照作业&#xff09; SectionA About Computer 关于计算机 algorithm n. 算法 operate v.…

华媒舍:8个使你东南亚地区媒体发稿方式

下面我们就为大家介绍8种方法&#xff0c;能够帮助你在东南亚地区的媒体发稿环节中游刃有余。无论您是一名公关人员、市场营销专家还是普通的新闻记者&#xff0c;这个方法也将对你具有协助。 1.掌握总体目标受众在东南亚地区公布媒体稿子时&#xff0c;最重要的步骤是掌握总体…

小米录屏怎么录?教你2种方法轻松录屏

“最近新换的小米手机&#xff0c;但不知道怎样打开小米手机的录屏功能啊&#xff1f;而且有没有办法能录制到手机的高清画面啊&#xff1f;谁能教教我啊&#xff1f;” 随着科技的飞速发展&#xff0c;录屏功能逐渐成为我们手机使用中不可或缺的一部分。在众多录屏工具中&…

一文搞懂Linux多线程【上】

目录 &#x1f6a9;引言 &#x1f6a9;再次理解页表 &#x1f6a9;初识线程 &#x1f6a9;线程和pthread库 &#x1f680;线程创建 &#x1f6a9;线程的资源共享问题 &#x1f6a9;线程的优缺点 &#x1f6a9;引言 今天&#xff0c;我们开始学习Linux中的线程部分。Lin…