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

步骤一、确定状态:

确定dp数组以及下标的含义
dp[i]: 爬到第i层楼梯,有dp[i]种方法

步骤二、推断状态方程:

dp[i] = dp[i-1] + dp[i-2]

第i阶台阶,要么从第i−1阶台阶迈一步, 要么从第i−2阶台阶迈两步,所以到第 i 阶台阶的方法总数,就是到第i−1台阶的方法总数与到第i−2台阶方法总数之和

步骤三、规定初始条件:

初始条件:
dp[1] = 1, dp[2] = 2

步骤四、计算顺序:

从前往后

先计算第1阶:dp[1]

计算第2阶:dp[2]
...

计算第最后一阶:dp[n]

class Solution:def climbStairs(self, n: int) -> int:if n < 3:return ndp = [0] * (n+1)dp[1] = 1dp[2] = 2for i in range(3, n+1):dp[i] = dp[i-1] + dp[i-2]return dp[n]

84. Leetcode 70. 爬楼梯 (动态规划-基础题)相关推荐

  1. 85. Leetcode 746. 使用最小花费爬楼梯 (动态规划-基础题)

    给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用.一旦你支付此费用,即可选择向上爬一个或者两个台阶.你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯 ...

  2. Leetcode 70. 爬楼梯 动态规划 c语言

    假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数.示例 1: 输入: 2 输出: 2 解释: 有两种 ...

  3. LeetCode 70.爬楼梯(动态规划)

    题目描述 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 解 ...

  4. LeetCode 70爬楼梯71简化路径72编辑距离(dp)

    新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注这个潇洒青年一起飞,回 ...

  5. Python描述 LeetCode 70. 爬楼梯

    Python描述 LeetCode 70. 爬楼梯   大家好,我是亓官劼(qí guān jié ),在[亓官劼]公众号.CSDN.GitHub.B站等平台分享一些技术博文,主要包括前端开发.pyt ...

  6. LeetCode 70. 爬楼梯 (递归斐波那契 | 动态规划)

    70. 爬楼梯 解法1 (暴力递归) 推出递推式子:f(n) = f(n - 1) + f(n - 2) 是一个斐波那契数列,用递归 class Solution {public int climbS ...

  7. LeetCode - 70. 爬楼梯(人肉递归、动态规划)2

    70 . 爬楼梯 题目: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 ...

  8. leetcode - 70. 爬楼梯

    70. 爬楼梯 -------------------------------------- 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以 ...

  9. 变形版汉诺塔:LeetCode:70爬楼梯

    70. 爬楼梯 题目链接:70:爬楼梯 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1 ...

最新文章

  1. 测试自己像什么动物软件叫什么,【测试】你最像哪种动物?
  2. OAuth2.0认证和授权原理
  3. Nginx系列~Nginx服务启动不了
  4. OEA 框架中集成的 RDLC 报表介绍
  5. Element.shadowRoot
  6. php order by where,无合适where条件过滤时尽量选择order by后的字段以驱动表进行查询...
  7. SQL Server需要监控哪些计数器 ---指尖流淌
  8. java可以返回微妙吗_Java开发中10个最为微妙的最佳编程实践
  9. 数据库SQL语言类型(DQL.DML.DDL.DCL)
  10. mysql case默认_MySQL知识整理10.1—存储过程和函数
  11. mysql 5.7 远程端口_ubuntu 16.04 mysql5.7.17 开放远程3306端口
  12. 自己写的php curl库实现整站克隆
  13. php如何判断是ajax,php如何判断是ajax
  14. 16. jQuery - 获取并设置 CSS 类
  15. ANSYS CFD网格划分笔记1
  16. Git正解 脱水版 【8. 定制Git】
  17. 网页代码优化html标签,通过优化网页HTML代码提高网页访问速度
  18. 一张纸微缩打印多个PowerPoint内容
  19. 20181214-python-tips
  20. jQueryt通过id选择器获取元素

热门文章

  1. 解决Sublime包管理package control 报错 There are no packages available for installation
  2. 位操作:BitVector32结构 z
  3. 对结构体变量进行清零操作
  4. IDEA中报错spring-boot-maven-plugin:not found
  5. linux cdig 工具,linux常用工具su与su -
  6. 菠萝派php示例,菠萝派 - 美食杰 - 美食,菜谱 - 中国最全的家常菜谱美食网
  7. 用C语言实现分治方法数组的排序,C语言实现分治法实例
  8. 前端命名规范_前端开发工程师如何突破年薪50万?这里有4点建议
  9. 怎么把本地的文件传给服务器,怎么把本地文件传给云服务器
  10. php读取html中元素属性,读写HTML元素的css 属性