LeetCode-面试题08.01 三步问题 C/C++实现 超详细思路及过程[E]

news2025/2/23 3:56:07

在这里插入图片描述

🎈归属专栏:深夜咖啡配算法
🚗个人主页:Jammingpro
🐟记录一句:摆了一个周末了,不能摆了,努力起来!!

文章目录

  • LeetCode-面试题08.01 三步问题
    • 🚗题目
      • 🚆题目描述
      • 🚆题目示例
      • 🚆提示
    • 🚗题解
      • 🚆动态规划法

LeetCode-面试题08.01 三步问题

标签:动态规划、记忆化搜索、数学


🚗题目

🚆题目描述

三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。

🚆题目示例

示例 1:

输入:n = 3
输出:4
说明: 有四种走法

示例 2:

输入:n = 5
输出:13

🚆提示

n范围在[1, 1000000]之间


🚗题解

🚆动态规划法

这一题与70.爬楼梯问题类似【传送门】,当我要爬到第n个台阶时,我可以是从n-1号台阶爬1个台阶后到达,可以是从n-2号台阶爬2个台阶后到达,还可以是从n-3号台阶爬3个台阶后到达。因而,可以得到递推公式 T n T_{n} Tn= T n − 3 T_{n-3} Tn3+ T n − 2 T_{n-2} Tn2+ T n − 3 T_{n-3} Tn3。从题意可知, T 0 T_{0} T0=1, T 1 T_{1} T1=1, T 2 T_{2} T2=2。得到初始化的几个数值及递推公式,我们就可以实现代码了👇

class Solution {
public:
    int waysToStep(int n) {
        const int MOD = 1000000007;
        if(n == 0 || n == 1) return 1;
        if(n == 2) return 2;
        int t0 = 1, t1 = 1, t2 = 2;
        for(int i = 3; i <= n; i++)
        {
            int tmp = ((t0 + t1) % MOD + t2) % MOD;
            t0 = t1;
            t1 = t2;
            t2 = tmp;
        }
        return t2;
    }
};

文章结语:这道题是一道简单题,算是动态规划入门类题目了!!
🎈欢迎进入深夜咖啡配算法专栏,查看更多文章。
如果上述内容有任何问题,欢迎在下方留言区指正b( ̄▽ ̄)d

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

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

相关文章

Hiera实战:使用Hiera实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集_pickle.PicklingError: Cant pickle <function Head.<lambda> at 0x000001DE8DD7F240>: attribute lookup Head.<lambda> on hiera.hiera failed 摘要 现代层次视觉变…

基于DSP/SOC音乐灯效系统设计方法

音乐灯效系统设计方法 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资料, 三种方法: (1)MIC 采集音乐信号变化,(2)直接获取SPK 模拟音频…

OBS Studio 30.0 正式发布:支持 WebRTC

导读OBS Studio 30.0 已正式发布。此版本移除了对 Ubuntu 20.04、Qt 5 和 FFmpeg 4.4 之前版本的支持。 OBS Studio 30.0 已正式发布。此版本移除了对 Ubuntu 20.04、Qt 5 和 FFmpeg 4.4 之前版本的支持。 主要变化包括&#xff1a; 支持 WebRTC&#xff08;详情查看 OBS Stu…

s_v_web_id或fp协议过签名,dy滑块

某音s_web_id或fp协议过签名 ‘h5_sdk_version’, ‘2.36.0’ "search_impr":{"entity_id":"1135137973613200"},"link_item_list":null,"user_permissions":null,"offline_info_list":null,"is_cf":…

51单片机项目(15)——基于51单片机的万年历仿真

1.功能设计 本次设计的系统&#xff0c;可以显示年月日&#xff0c;时分秒。使用DS1302芯片。 还自带闹钟功能. &#xff08;要源工程的&#xff0c;移步至最后&#xff01; &#xff08;代码和仿真文件都有&#xff09;&#xff09; 2.仿真图 3.背景意义 51单片机&#x…

微信api开发接口文档

简要描述&#xff1a; 搜索联系人 请求URL&#xff1a; http://域名地址/searchUser 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明wI…

人力资源管理后台 === 主页模块

目录 1.获取用户资料在Vuex中共享 2.显示用户头像和用户名 3.处理头像为空的场景 4.处理token失效的问题 5.调整下拉菜单&#xff0c;实现退出登录 6.修改密码功能实现 6.1-修改密码-弹出层 6.2-修改密码-表单结构 6.3-修改密码-表单校验 6.4-修改密码-确定和取消 7.…

学习知识回顾随笔

文章目录 如何远程连接MySQL数据库1.创建用户来运行&#xff0c;此用户从任何主机连接到mysql数据库2.使用IP地址来访问MySQL数据库 如何远程访问Django项目Web应用什么是Web应用应用程序的两种模式Web应用程序的优缺点 HTTP协议&#xff08;超文本传输协议&#xff09;简介HTT…

京东平台双11全品类完整销售数据回顾(京东大数据-京东数据采集-京东数据接口)

今年的双十一&#xff0c;大家依然没有等到各大平台的官方战报。 所以&#xff0c;对于绝大部分品牌、商家、咨询公司乃至有数据研究需求的小伙伴来说&#xff0c;很难了解到今年大促消费者的真实消费水平。 为此&#xff0c;鲸参谋简单整理出了10个京东大类目&#xff08;含5…

享受更健康的睡眠,dido P1S智能手环体验

如今很多人都有严重的失眠困扰&#xff0c;像是因为平时工作非常繁忙&#xff0c;每天回到家后已经很晚了&#xff0c;或者是睡前长时间刷手机&#xff0c;躺在床上辗转反侧&#xff0c;晚上就很难入睡&#xff0c;脑海中一片混乱&#xff0c;休息的质量就很差。我最近尝试了一…

功率信号源可输出波形有哪些

功率信号源是一种能够产生高功率输出信号的电子设备。它常用于实验室、工业生产以及各种应用领域中&#xff0c;如无线通信、音频放大和激光器驱动等。功率信号源可以输出多种不同的波形&#xff0c;下面将介绍一些常见的输出波形类型。 直流&#xff08;DC&#xff09;波形&am…

影响机器视觉测量精度的因素有哪些?

精度测量取决于分辨率 在机器视觉测量中提供高精度和低不确定度的决定性因素是获取的图像的分辨率。在这种情况下&#xff0c;术语分辨率 &#xff08;或图像分辨率&#xff09;意味着以实际单位的单个像素的大小。简而言之&#xff0c;如果一个摄像机传感器在水平方向上包含…

IP代理的潜力有多大?做跨境一定要会用!

IP说简单不简单&#xff0c;说复杂也不复杂&#xff0c;打个比方&#xff0c;IP就好比我们上网的一个门牌号&#xff0c;每家每户都会有一个门牌号&#xff0c;而且是唯一的地址。而代理IP&#xff08;代理服务器&#xff09;是一个位于中间的服务器&#xff0c;充当客户端和目…

iptables拒绝所有端口放开特定端口方法流程,iptables允许ping和拒绝ping、hosts阻止所有ip指定放开ip方法流程

文章目录 说明iptables拒绝所有端口放开特定端口方法流程拒绝所有端口允许特定端口临时规则写入配置文件永久生效 iptables允许ping和拒绝ping禁止允许ping说明内核参数设置禁止允许 防火墙设置禁止允许 禁止ping允许ping外部ping通虚拟机内部虚拟机内部使用ping规则详细 hosts…

全国重点文物保护单位数据第1-8批数据,附数据可视化

今天分享的第二个数据是全国重点文物保护单位数据&#xff0c;涉及全国重点文物保护单位第一批至第八批&#xff0c;数据格式为shpcsv格式&#xff0c;以点为几何类型&#xff0c;已经经过精加工&#xff0c;可直接使用。 涉及字段列表如下&#xff1a; 序号字段名称字段说明…

java学习part16代码块

108-面向对象(高级)-类的成员之四&#xff1a;代码块_哔哩哔哩_bilibili 1. 代码块只能static修饰&#xff0c;不存在权限修饰。 因为它是在某种情况下自动执行的&#xff0c;不存在调用的情况。 非静态代码块随着对象创建自动执行&#xff08;一个对象执行一次&#xff09;…

Python实现WOA智能鲸鱼优化算法优化XGBoost分类模型(XGBClassifier算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提…

ubuntu/vscode下的c/c++开发之-CMake语法与练习

Cmake学习 1 语法特性介绍 基本语法格式&#xff1a;指令(参数 1 参数 2...) 参数使用括弧括起参数之间使用空格或分号分开 指令是大小写无关的&#xff0c;参数和变量是大小写相关的 set(HELLO hello.cpp) add_executable(hello main.cpp hello.cpp) ADD_EXECUTABLE(hello ma…

Django总结

文章目录 一、Web应用Web应用程序的优点Web应用程序的缺点应用程序有两种模式C/S、B/S C/S 客户端/服务端局域网连接其他电脑的MySQL数据库1.先用其他电脑再cmd命令行ping本机ip2.开放MySQL的访问 B/S 浏览器/服务端基于socket编写一个Web应用 二、Http协议1.http协议是什么2.h…

NX二次开发UF_CURVE_ask_proj_curves 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_ask_proj_curves Defined in: uf_curve.h int UF_CURVE_ask_proj_curves(tag_t proj_curve_feature, int * n_curve_refs, tag_t * * curve_refs ) overview 概述 Return…