码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • LeetCode刷题(python版)——Topic70. 爬楼梯


    一、题设

    假设你正在爬楼梯。需要 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 阶

    二、基本思路

            动态规划题,首先明确一下动规的基本五部曲:

            step1: 明确动态数组dp以及下标的含义:dp[i]表示到第i层楼梯有几种爬法.

            step2:确定动态转移方程:也就是dp[i]是怎么来的,题目说可以一次爬一个台阶和两个台阶,那么状态转移方程就很明显了:dp[i] = dp[i-1] + dp[i-2] (dp[i-1]表示这次爬了一个台阶,dp[i-2]表示这次爬了两个台阶).

            step3:初始化:因为转移方程涉及到 i-1 和 i-2 ,那么我们赋值前两个就可以了:dp[1] = 1,dp[2] = 2.

            step4:遍历顺序,一维数组遍历即可。(从 i = 2开始).

            step5:打印dp看一下与实际含义是否一致:一致.

    三、代码实现

    1. def climbStairs(self, n):
    2. dp = [0 for _ in range(n+1)]
    3. # 两个特殊情况处理一下
    4. if n==1:
    5. return 1
    6. if n== 2:
    7. return 2
    8. dp[1],dp[2] = 1,2
    9. for i in range(3,n+1):
    10. # i - 1:这次爬一个台阶
    11. # i - 2:这次爬两个台阶
    12. dp[i] = dp[i-1] + dp[i-2]
    13. return dp[-1]

    四、效率总结

     

  • 相关阅读:
    notifyIcon动态图标
    工厂需要什么样的现场管理能力?
    小程序需要做等保测评吗?
    向毕业妥协系列之机器学习笔记:无监督学习-聚类
    python毕设选题 - 大数据二手房数据爬取与分析可视化 -python 数据分析 可视化
    Day 45 | 70. 进阶爬楼梯 & 322. 零钱兑换 & 279.完全平方数
    自学网络安全———(黑客技术)
    ExtJS - ExtJS最佳实践
    Lua中文语言编程源码-第十节,更改ltm.c 元格操作函数, 使Lua加载中文库关键词(执行诸如__索引,__新索引,__加等元表操作)
    122. 在 SAP UI5 应用中使用浏览器原生的 Fetch API 发起网络请求
  • 原文地址:https://blog.csdn.net/weixin_54039182/article/details/127886514
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号