计蒜客:爬楼梯问题动态规划

动态规划——爬楼梯问题(爬楼梯+最省力爬楼梯) 1、问题:力扣原题 2、分析 根据题意展开分析,爬第一层楼梯有一种方法,爬到第二层楼梯有两种方法,那么爬到第三层楼梯可以通过从第一层楼梯一次性跨两步到第三层或者从第二层楼梯一次跨一步到第三层。所以到第三层楼梯的状态可以由第一层楼梯和第二层楼梯的状态进行推导,,故该题可采用dp来实现。 dp五部曲: 1) 确定dp数组及含义 dp[i]表示爬到第i层楼梯总的方法数 2)确定递推公式 dp[i]= dp[i-1] + dp[i-2]; dp[i-1]表... 阅读详情
package DTGH;

import java.util.Scanner;

/*
动态规划
假设你现在正在爬楼梯,楼梯有 n级。每次你只能爬 1级或者 2 级,那么你有多少种方法爬到楼梯的顶部?
 */
public class UpStairsPLT {
/*
思路:n层时会有n-1层上去或者n-2层上去 以此类推 最前面 f(2)=2; f(1)=1; f(3)=f(2)+f(1);
 */
 public long res(int i){
     long[] re=new long[i+1];
     re[0]=0;
     if (i>0) re[1]=1;
     if (i>1) re[2]=2;
     if (i>2) {
         for (int j = 3; j <= i; j++) {
             re[j] = re[j - 1] + re[j - 2];
         }
     }
    /* if(i<=2){
         if (i==1) {
             return 1;
         }else {
             return 2;
         }
     }else  {
         return res(i-1)+res(i-2);
     }*/
    return re[i];
 }

    public static void main(String[] args) {
     UpStairsPLT a=new UpStairsPLT();
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        System.out.println(a.res(n));
    }
}

 

动态规划(爬楼梯问题) 动态规划初识(爬楼梯问题) 1.什么是动态规划    自己的理解就是搜索问题的优化,可以用动归解决的问题都可以用搜索(DFS)来做 2. 动态规划问题的分类    1.Maxtrix DP 坐标类型的动归(求路径,最大,最小)    2 Sequence DP 序列的动归    3 TWO Sequences DP 双序列的动归问题    4 背包问题   3  动态规划的要点 阅读详情

相关推荐

js代码-假如你在爬楼梯,楼梯一共有N层,但你每次爬楼梯只能走一步或两步或三步,计算共有多少种走法?如何输出具体的走法呢?

js代码-假如你在爬楼梯,楼梯一共有N层,但你每次爬楼梯只能走一步或两步或三步,计算共有多少种走法?如何输出具体的走法呢?

动态规划入门(一):从爬楼梯开始

动态规划是运筹学的一个概念,是用来解决多阶段决策过程相关问题的一种思想,一般简称为DP(Dynamic Programming),所谓多阶段决策过程是指有一个活动的过程可以分成若干个相互联系的阶段,在它的每一阶段都需要做出决策,不同的决策将影响活动最终的结果,这个过程如下图所示,活动的初始状态为状态0,经过一次决策后转移到状态1,这是一个中间结果,经过n次决策后转移到状态n,而状态n即为活动最终的结果。与多阶段决策过程相关的问题大致有下面2种,它们是使用动态规划来解决的典型问题:最优化问题、决策方案数问题。

yuhaomogui的博客 1349

2D激光slam数据集的下载与测试

参考博客: https://blog.youkuaiyun.com/qq_24894159/article/details/81265991 https://blog.youkuaiyun.com/fk1174/article/details/52673413#commentBox 数据集下载与生成 下载数据集 下载网址: http://ais.informatik.uni-freiburg.de/slamevaluation/datasets.php 进去网站后点你想下载的对应的"download log file" 然后你

老李的博客 4026

有一个阶梯有n级,每次可以走1,2,3,4级,请问分别有多少种走法?

F(n) = F(n-1)+ F(n-2) + F(n-3)+ F(N-4) (N>=5)F(1) = 1;F(2) = F(1)+1 = 2;F(3) = F(2) + F(1) + 1 = 4;F(4) =F(3) + F(2) + F(1) +1 = 8; 转载于:https://www.cnblogs.com/SammyLan/archive/2010/09/14/1880038.h...

weixin_34334744的博客 651

Contest 226 - C - Martial artist

from atcoder Problem Statement Time Limit: 2 sec / Memory Limit: 1024 MB Score :300300points Takahashi is a martial artist. There areNNmoves that a martial artist can learn, called Move11,22,\ldots…,NN. For each1 \leq i \leq N1≤i≤N, it takes...

m0_54674275的博客 1021

VirtualBox创建虚拟机(为安装Ubuntu桌面系统)

Ubuntu的安装非常灵活。但是万变不离其宗,归纳起来,无非就是以下3种:(1)用户可以下载完整的ISO镜像文件,将其转移到各种介质上面,例如DVD或者U盘,然后以该介质引导系统进行安装。(2)用户可以下载一个非常小的网络安装器,利用该安装器引导系统进行在线安装。(3)用户可以将Ubuntu安装到一个U盘中,随身携带。为了便于读者学习,本节将介绍通过完整的ISO镜像文件安装Ubuntu。其他的安装方式将在后面介绍。

夏天又到了的专栏 2689

面试经典算法题--爬楼梯 的六种解法

题目描述: 假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? 六种解法: /** * 爬楼梯问题其实质就是斐波那契数列! */ public class ClimbTheStairs { int total; // 1.递归调用 public int fib01(int n) { if (n ==...

TxNet 6065

从时频谱图到智能感知:雷达信号处理的AI进化之路

本文探讨了人工智能在雷达信号处理中的革命性应用,特别是深度学习在时频谱图分析中的突破性进展。通过对比传统信号处理方法与AI驱动的解决方案,展示了CNN、3D CNN等模型在目标检测、行为识别等场景中的优势,并分析了数据获取、模型优化等关键技术挑战。AI赋能的雷达技术已广泛应用于智能交通、工业检测和医疗健康领域,展现出巨大的发展潜力。

weixin_29284201的博客 510

题目:爬楼梯

假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? 您在真实的面试中是否遇到过这个题? Yes 哪家公司问你的这个题? Airbnb Alibaba Amazon Apple Baidu Bloomberg Cisco Dropbox Ebay Facebook Google Hulu Intel

717

AutoLISP 学习 (一)

AutoLISP基本语法结构、语法 以括号组成表达式,左右括号一定要成对,单、双引号也要成对,例如: (defun c:hello() (princ "\nHello world!") (prin1) ) 表达式格式:(函数名 操作数 操作数 …),例如: (setq p1 (list 0 0)) (setq p2 (list 10 10)) (setq p3 (list 20 20)) ;;; CAD中画直线,经过p1 p2 p3 (command "LINE" p1 p2 p3 ""

m0_54575622的博客 2123

NVIDIA GR00T SONIC - 人形机器人强化学习全身控制入门教程(一)

SONIC 是一个类人行为基础模型,它为机器人提供了一套从大规模人类动作数据中学习而来的核心运动技能。与为每个动作单独构建控制器不同,SONIC 将动作追踪作为可扩展的训练任务,因此单一套统一策略即可产生自然的全身运动,并支持多种多样的行为。         🎯 主要特点: 🚶 自然的全身运动(行走、爬行、动态动作) 🎮 支持实时 VR 遥操作 🤖 高级规划与交互的基础 📦 即用型 C++ 推理栈

2506_90492529的博客 843

计蒜客题库爬楼梯(时间不超限制的递归)C++

今天做计蒜客oj上一道题目爬楼梯比较有意思 65536K假设你现在正在爬楼梯,楼梯有 nn 级。每次你只能爬 11 级或者 22 级,那么你有多少种方法爬到楼梯的顶部?输入格式第一行输入一个整数 n(1\leq n \leq 50)n(1≤n≤50),代表楼梯的级数。输出格式输出爬到楼梯顶部的方法总数。样例输入5样例输出8我们来找一下规律吧如果走一级楼梯,那么只有1这一种走法走两级楼梯,那么有(1...

ly's Blog 1455

JSON 与 JSON-RPC 的区别

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,基于文本,采用人类可读的语法来表示结构化数据。它起源于JavaScript,但如今已被几乎所有主流编程语言支持。标准文档:RFC 4627数据类型:支持 String、Number、Boolean、Null、Object、Array 六种基本类型格式示例"name": "张三","age": 30,JSON-RPC(JSON Remote Procedure Call)是一种远程过程调用(RPC)协议。

h a 6 6 6 c k 为 你解决复杂难题! 147

[计蒜客][动态规划]蒜头君爬楼梯

题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛) 算法标签 动态规划 题目描述 思路 我到第二个台阶方案数是由1步,2步两种情况 我到第一个台阶只有一步,1种情况 我到第三个台阶方案书是前两种情况的总和 AC代码 #include<iostream> using namespace std; const int N=1100; const int mod = 100007 ; int a[N]={0,1,2}; int main() { int n; cin>&gt

代码中枢:软件工程理论与实践的桥梁 562

深度解析:LPDDR5 Receiver 的挑战与应对

LPDDR5 的数据速率已经来到Tbit​DataRate1​≈156ps在6400Mbps时也就是说,。👉 这就是为什么成为 LPDDR5 的“标配”。

weixin_43199439的博客 211

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

动态规划算法经典问题:爬楼梯

我们用动态规划方法解决日常生活中经常遇到的一个问题—爬楼梯问题。 一、问题描述 小明家住在二楼,每次回家都需要经过一个10层台阶的楼梯,小明每次可以选择一步走一级台阶或者一步走两级台阶。请帮小明计算他从楼下到家一共有多少种走法? 打个比方,小明可以选择每次都走一级台阶,那么他回家一共需要走十步,这是其中的一种种走法,不然,他还可以选择一次走两级台阶,那么他回家一共需要走五步,这是另外一种走法,除此之外,还有很多种不同的走法,现在我们要做的是把所有可能的走法数量统计出来。 在正式写程序之前,我们先一起整理一下

qq_53963637的博客 8130

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

计蒜客 爬楼梯问题

问题描述: 假设你现在正在爬楼梯,楼梯有 n 级。每次你只能爬 1 级或者 2 级,那么你有多少种方法爬到楼梯的顶部? 输入格式 第一行输入一个整数 n(1≤n≤50),代表楼梯的级数。 输出格式 输出爬到楼梯顶部的方法总数。 样例输入 5 样例输出 8 C++代码描述 分析:模仿斐波那契数,假设从底走到第n级的走法有f(n)种,走到第n级有两个方法,一个是从...

snailme的博客 588

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

动态规划:爬楼梯问题

动态规划是一种通过记忆和重用子问题的解来提高效率的算法设计技术。其核心思想是将问题分解为多个子问题,先求解子问题并将其结果存储起来,以便在需要时直接使用,避免重复计算。

捕风捉你 · 星桥API接入与大模型实战 1295

Java之动态规划之爬楼梯问题

对于这个问题,前面我们用了最直接的动态规划问题来解决,当我们学习了背包问题之后,我们可以用这个思想来解决这个问题,因为我们每次可以爬1个或者2个,每一次都可以在1个和2个来进行选择,爬几层的这个问题就相当于背包中的物品,n级台阶相当于背包的重量,这样就转换为了。我们可以增加一个维度,用来存储偶数步和奇数步的方法数,选择二维dp数组dp[][]的含义是:爬到第i层台阶,走偶数步的有dp[i][0]中方法,走奇数步有dp[i][1]种方法。对于解决这样的动态规划的背包问题,还是采用通用的五个步骤。

qq_64580912的博客 3992

计蒜客 爬楼梯

爬楼梯 假设你现在正在爬楼梯,楼梯有n级。每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数。 接下来一行输出你的方法总数。 样例输入 5 样例输出 8 1 #include"iostream" 2 using namespace std; 3 ...

100

计蒜客016-爬楼梯

这题先用回溯实现了一遍,但是效率太低没有AC,然后重新把他理解为Fibonacci数,做递归就好了,效率还凑合 把代码都贴在下面,如果不能理解回溯的朋友,可以看我上一篇的八皇后 假设你现在正在爬楼梯,楼梯有n级。每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式:    第一行输入一个数n,代表楼梯的级数。    接下来一行输出你的方法总数。 样例输入 5

rainxbow的专栏 1080

计蒜客————爬楼梯

31.15%  1000ms  65536K 假设你现在正在爬楼梯,楼梯有 nn 级。每次你只能爬 11 级或者 22 级,那么你有多少种方法爬到楼梯的顶部? 输入格式 第一行输入一个整数 n(1\leq n \leq 50)n(1≤n≤50),代表楼梯的级数。 输出格式 输出爬到楼梯顶部的方法总数。 样例输入 5 样例输

lose__way的博客 1069

蒜头君爬楼梯(1) - 计蒜客

目录 题目 题解 题目 1000ms 32767K 蒜头君很喜欢爬楼梯,但是蒜头君腿不够长,每次蒜头君最多只能一步跨越两个阶梯。比如他初始在楼底,跨越一个阶梯到达1号阶梯,或者跨越两个阶梯到达2号阶梯。如下图 为了选出一种最轻松的爬楼梯的方式,蒜头君想把所有不同的到达楼顶的方式都尝试一遍。对于一共有n个阶梯的楼梯,蒜头君一共有多少总方法从楼底到达楼顶。 由于最后答案可能很大,输出最后的答案对100007取模的结果。 输入格式 第一行输入一个整数n(1≤...

Keven_11的博客 851

【计蒜客系列】挑战难题16:爬楼梯

题目来源:计蒜客 假设你现在正在爬楼梯,楼梯有n级。每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式:    第一行输入一个数n(n    接下来一行输出你的方法总数。 样例1 输入: 5 输出: 8 注: 分析:假设从底走到第n级的走法有dp[n]种,走到第n级有两个方法,一个是从(n-1)级走一步,另一个是从第(n-2)级走两步,前者有d

帕其维克的世界 1855

计蒜客挑战难题:爬楼梯

假设你现在正在爬楼梯,楼梯有n级。每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部?格式:第一行输入一个数n(n<=50),代表楼梯的级数。接下来一行输出你的方法总数。样例输入5 样例输出8代码:import java.util.Scanner;public class Main { public static int calStepDP(int n){ int

小圣贤君的博客 656
上一篇: 蓝桥杯:Sine之舞(Java实现)
下一篇: leetcode:strStr函数
ArchitectDream
博客等级 码龄9年 48粉丝 288原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值