84. Leetcode 70. 爬楼梯 (动态规划-基础题)
假设你正在爬楼梯。需要 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. 爬楼梯 (动态规划-基础题)相关推荐
- 85. Leetcode 746. 使用最小花费爬楼梯 (动态规划-基础题)
给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用.一旦你支付此费用,即可选择向上爬一个或者两个台阶.你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯 ...
- Leetcode 70. 爬楼梯 动态规划 c语言
假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数.示例 1: 输入: 2 输出: 2 解释: 有两种 ...
- LeetCode 70.爬楼梯(动态规划)
题目描述 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 解 ...
- LeetCode 70爬楼梯71简化路径72编辑距离(dp)
新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注这个潇洒青年一起飞,回 ...
- Python描述 LeetCode 70. 爬楼梯
Python描述 LeetCode 70. 爬楼梯 大家好,我是亓官劼(qí guān jié ),在[亓官劼]公众号.CSDN.GitHub.B站等平台分享一些技术博文,主要包括前端开发.pyt ...
- LeetCode 70. 爬楼梯 (递归斐波那契 | 动态规划)
70. 爬楼梯 解法1 (暴力递归) 推出递推式子:f(n) = f(n - 1) + f(n - 2) 是一个斐波那契数列,用递归 class Solution {public int climbS ...
- LeetCode - 70. 爬楼梯(人肉递归、动态规划)2
70 . 爬楼梯 题目: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 ...
- leetcode - 70. 爬楼梯
70. 爬楼梯 -------------------------------------- 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以 ...
- 变形版汉诺塔:LeetCode:70爬楼梯
70. 爬楼梯 题目链接:70:爬楼梯 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1 ...
最新文章
- 测试自己像什么动物软件叫什么,【测试】你最像哪种动物?
- OAuth2.0认证和授权原理
- Nginx系列~Nginx服务启动不了
- OEA 框架中集成的 RDLC 报表介绍
- Element.shadowRoot
- php order by where,无合适where条件过滤时尽量选择order by后的字段以驱动表进行查询...
- SQL Server需要监控哪些计数器 ---指尖流淌
- java可以返回微妙吗_Java开发中10个最为微妙的最佳编程实践
- 数据库SQL语言类型(DQL.DML.DDL.DCL)
- mysql case默认_MySQL知识整理10.1—存储过程和函数
- mysql 5.7 远程端口_ubuntu 16.04 mysql5.7.17 开放远程3306端口
- 自己写的php curl库实现整站克隆
- php如何判断是ajax,php如何判断是ajax
- 16. jQuery - 获取并设置 CSS 类
- ANSYS CFD网格划分笔记1
- Git正解 脱水版 【8. 定制Git】
- 网页代码优化html标签,通过优化网页HTML代码提高网页访问速度
- 一张纸微缩打印多个PowerPoint内容
- 20181214-python-tips
- jQueryt通过id选择器获取元素
热门文章
- 解决Sublime包管理package control 报错 There are no packages available for installation
- 位操作:BitVector32结构 z
- 对结构体变量进行清零操作
- IDEA中报错spring-boot-maven-plugin:not found
- linux cdig 工具,linux常用工具su与su -
- 菠萝派php示例,菠萝派 - 美食杰 - 美食,菜谱 - 中国最全的家常菜谱美食网
- 用C语言实现分治方法数组的排序,C语言实现分治法实例
- 前端命名规范_前端开发工程师如何突破年薪50万?这里有4点建议
- 怎么把本地的文件传给服务器,怎么把本地文件传给云服务器
- php读取html中元素属性,读写HTML元素的css 属性