题目描述:

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。

方法一:

1 class Solution {
2     public int climbStairs(int n) {
3         if(n==1||n==2) {
4             return n;
5         }
6         return climbStairs(n-1)+climbStairs(n-2);
7
8     }
9 }

很容易想到上面这种方法,其时间复杂度为O(2^n),提交OJ会超时。

方法2:

如何用递推求出第i阶爬法数量?

 1 class Solution {
 2     public int climbStairs(int n) {
 3         int[] dp=new int[n+3];
 4         dp[1]=1;
 5         dp[2]=2;
 6         for(int i=3;i<=n;i++) {
 7             dp[i]=dp[i-1]+dp[i-2];
 8         }
 9         return dp[n];
10     }
11 }

执行用时在所有Java提交中击败了100.00%的用户!!

动态规划原理:

下一题动态规划经典题目LeetCode198打家劫舍

欢迎评论!!共同进步!!

转载于:https://www.cnblogs.com/hengzhezou/p/11042151.html

动态规划LeetCode70爬楼梯相关推荐

  1. 【c++】leetcode70 爬楼梯

    1.题目 leetcode70 爬楼梯 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢?示例 1: 输入:n = 2 输出:2 解 ...

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

    爬楼梯(动态规划) 1. 题目描述 2. 题目分析 3. C语言实现 1. 题目描述 难度:简单 2. 题目分析 爬楼梯这道题是一个很典型的问题了,这是一道经典的动态规划的问题: 动态规划 不难发现, ...

  3. LeetCode70. 爬楼梯 [简单]——动态规划

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

  4. LeetCode-基础动态规划-70. 爬楼梯

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

  5. 动态规划基础——爬楼梯(Leetcode 70)

    题目选自Leetcode 70.爬楼梯 动态规划的基础题,类似斐波那契数列一样的一维dp 状态转移方程为: dp[i] = dp[i-1] + dp[i-2]; 题目描述: 解题代码: int cli ...

  6. [Swift]LeetCode70. 爬楼梯 | Climbing Stairs

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  7. 【动态规划】爬楼梯爬的不仅仅是楼梯

    深度思考爬楼梯问题,抽取一般过程,目标是对其变式题也能认出并且求解 一.题目描述 假设你正在爬楼梯.需要 n 阶你才能到达楼顶.每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? ...

  8. leetcode70 爬楼梯

    爬楼梯 分析:对于每一次向上走台阶一共两种可能,一个台阶或者两个台阶,因此则有递归: f(3) = f(1) + f(2) f(4) = f(2) + f(3) - f(n) = f(n-2) + f ...

  9. 斐波那契数拓展问题:leetcode-70 爬楼梯问题 leetcode-1137 泰波那契数问题解法

    假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 这是道经典的题目,我们可以在Leetcode,pta,剑指offer等地方经常看 ...

最新文章

  1. 机器学习入门(09)— 偏导数、梯度概念、梯度下降法理论和实现
  2. 城联数据TSM技术方案起底
  3. 计算机安全专家建议:尽快为电脑升级打补丁
  4. lora近几年发展的具体介绍
  5. mysql: 模糊查询 feild like keyword or feild like keyword , concat(feild1,feild2,feild3) like keyword...
  6. 安全使用网上银行 享受在线购物时尚生活
  7. Node.js压缩web项目中的js,css和图片
  8. iOS应用不同状态下收到推送的处理
  9. Nodejs 离线文档下载
  10. GridView里面模板获取唯一值(如ID)
  11. 【OpenCV学习】准确定位帧
  12. 农行研发中心软开2020秋招编程题全记录
  13. 英语中学生测试软件,初中生免费学英语的软件哪个好
  14. 【数论】Pollard-Rho 算法总结
  15. python怎么取百位_#python计算结果百位500向下取整,(0-499取000,500-999取500)
  16. rtx4090和3090性能差距
  17. centos7.9使用gn+ninja编译程序
  18. 垂直水平居中的几种实现方式
  19. lambda-1-lambda简介
  20. traceroute命令(unix)/tracert命令(windows)的工作原理

热门文章

  1. 00后大学生调研四五线城镇商户:91%用上移动支付
  2. 新东方年会diss老板节目爆红!俞敏洪:奖励12万
  3. Java成神之路——CountDownLatch、CyclicBarrier
  4. mysql去重查询group_MySQL distinct 与 group by 去重(where/having)
  5. app分发源码_第三方苹果企业签名源码
  6. 【clickhouse】yandex 官方 BalancedClickhouseDataSource 源码分析
  7. 【Elasticsearch】运行 400 多个节点的 Elasticsearch 集群
  8. 【Elasticsearch】估算在 Elasticsearch 中存储文档的成本
  9. 【es】es 分布式一致性原理剖析(二)-Meta篇
  10. 【kafka】服务器上Kafka启动 Cannot allocate memory