文章目录

  • 题目描述
  • 代码 & 思路
    • 1. 动态规划 O(n)、O(n)
    • 2. 动态规划 O(n)、O(1)

题目描述

  • DP 入门题了属于是

代码 & 思路

1. 动态规划 O(n)、O(n)

  • dp[i]:可以到第 i 阶的方法有dp[i]种,所以dp[n]就是ans(注意dp.length = n+1)
  • 显而易见,dp[1]是1,dp[2]是2(一脚直接1阶;一脚直接2阶 or 先一阶再二阶)
  • 因此我们初始化dp[1],dp[2],然后直接由此循环得到结果即可
class Solution {int ans = 0;public int climbStairs(int n) {if(n < 2){return 1;}// dp[i]:代表有dp[i]种方法到第n阶int[] dp = new int[n+1];// 走0阶和1阶需要的// 由此,实现之后的每一个台阶都可以看成之前的台阶走两步或走一步到dp[1] = 1; dp[2] = 2;// 初始化结束,现在开始找结果for(int i = 3;i <= n;i++){dp[i] = dp[i-1] + dp[i-2];}return dp[n];}
}

2. 动态规划 O(n)、O(1)

  • 在1的基础上改,实际上只需要维护三个变量即可。
class Solution {int ans = 0;public int climbStairs(int n) {if(n < 2){return 1;}int first = 1;int second = 2;int res = -1;// 初始化结束,现在开始找结果for(int i = 3;i <= n;i++){res = first + second;first = second;second = res;}return res;}
}

【LeetCode笔记】70. 爬楼梯(Java、动态规划)相关推荐

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

    题目链接:https://leetcode-cn.com/problems/climbing-stairs/ 之前在递归中讲过这个问题,现在用动态规划求解. 假设你正在爬楼梯.需要 n 阶你才能到达楼 ...

  2. 学渣的刷题之旅 leetcode刷题 70.爬楼梯(动态规划)

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

  3. leetcode 70. 爬楼梯-java实现

    题目所属分类 小学数奥题 斐波那契数列 原题链接 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 代码案例:输入:n = 2 输 ...

  4. 【LeetCode】70.爬楼梯

    题目 假设你正在爬楼梯,需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶,你有多少种不同的方法可以爬到楼顶呢? 题解 方法1:基本递归 算法 基本递归即初学递归时所学的最简单.最直观的方 ...

  5. LeetCode Algorithm 70. 爬楼梯

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

  6. leetcode系列-70. 爬楼梯

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

  7. leetcode算法70.爬楼梯

  8. 《LeetCode力扣练习》第70题 爬楼梯 Java

    <LeetCode力扣练习>第70题 爬楼梯 Java 一.资源 题目: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶 ...

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

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

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

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

最新文章

  1. BufferedReader和PrintWriter读写中文的问题
  2. linux查看节点使用进程后退出,Linux通过端口号查看使用进程-结束进程
  3. MySQL中count方法和sum方法查询条件错误时返回结果
  4. SpringCloud之RestTemplate,几种常见的请求方式
  5. 我的代码第一次运行时的样子
  6. 连接蓝牙demo_【BTS001】开源蓝牙协议栈BTStack初体验
  7. 7-2 通讯录的录入与显示 (10 分)
  8. python在数字后添加字符_用python生成数字、字母和特殊字符混合的字符串
  9. Jxl实现Excel的导入与导出
  10. python网络编程 赵宏_【干货收藏】Python面试指南大全
  11. python好友管理系统
  12. 官网下载Windos10正版镜像并安装
  13. 《陶哲轩实分析》阅读
  14. windows批量修改文件权限
  15. Learning to Predict Context-adaptiveConvolution for Semantic Segmentation阅读笔记
  16. 关于x86中为什么CS:IP里的0xffff左移四位是0xffff0
  17. NGS数据分析实践:00. 变异识别的基本流程
  18. SqlServer高效汉字转拼音的存储过程
  19. 《我从起点开始奔跑》
  20. 利用Java简单的实现围棋小游戏

热门文章

  1. Maven项目无法加载jdbc.properties
  2. 自研芯片鸿蒙系统,华为智慧屏:自研智慧芯片鸿蒙系统 9月发布
  3. plt.savefig 不保存边框_Matlab科研绘图 amp; 保存
  4. cad细等线体不显示_CAD图纸乱码、钢筋符号不显示解决办法(内含万能字体)
  5. iis设置导致python调用urllib.request.urlopen出错问题
  6. java官方 jax rs_jboss7 Java API for RESTful Web Services (JAX-RS) 官方文档
  7. python程序员怎么面试_Python程序员面试,这些问题你必须提前准备!
  8. 服务器安装opencv报错--libSM.so.6: cannot open shared ...+tensorflow 报错libcusolver.so.8.0: can not...
  9. Python爬虫四(正则表达式)
  10. Java消息服务思维导图笔记