leetcode题解70-爬楼梯
问题描述
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
注意:给定 n 是一个正整数。
示例 1:
输入: 2
输出: 2
解释: 有两种方法可以爬到楼顶。
- 1 阶 + 1 阶
- 2 阶
示例 2:
输入: 3
输出: 3
解释: 有三种方法可以爬到楼顶。
- 1 阶 + 1 阶 + 1 阶
- 1 阶 + 2 阶
- 2 阶 + 1 阶
算法思想:
本题若用普通的递归,则会超时,所以应该用动态规划,即递推思想,我们首先知道,走1层楼梯有1种方法,走两层楼梯有两种方法,走n层楼梯的方法总数应该是先走1层楼梯,剩下再走n-1层楼梯的方法总数加上先走2层楼梯,剩下再走n-2层楼梯的方法总数之和。
代码实现
public int climbStairs(int n) {int[] ways=new int[n+2]; //ways[i]表示当只有i层阶梯时的方法总数int result=1;ways[1]=1; //爬1层楼梯的方法总数ways[2]=2; //爬2层楼梯的方法总数for(int i=3;i<=n;i++){//当阶梯为第i层时,第i层的爬楼梯方法总数等于//先爬1层,然后爬剩下的i-1层的方法总数加上先爬两层,然后爬剩下的i-2层方法总数ways[i]=ways[i-1]+ways[i-2];}return ways[n];}
leetcode题解70-爬楼梯相关推荐
- 【LeetCode】70.爬楼梯
题目 假设你正在爬楼梯,需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶,你有多少种不同的方法可以爬到楼顶呢? 题解 方法1:基本递归 算法 基本递归即初学递归时所学的最简单.最直观的方 ...
- LeetCode Algorithm 70. 爬楼梯
Title 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 ...
- leetcode系列-70. 爬楼梯
题目描述:假设你正在爬楼梯.需要 n 阶你才能到达楼顶.每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶. ...
- leetcode算法70.爬楼梯
- LeetCode 70爬楼梯71简化路径72编辑距离(dp)
新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注这个潇洒青年一起飞,回 ...
- leetcode - 70. 爬楼梯
70. 爬楼梯 -------------------------------------- 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以 ...
- Python描述 LeetCode 70. 爬楼梯
Python描述 LeetCode 70. 爬楼梯 大家好,我是亓官劼(qí guān jié ),在[亓官劼]公众号.CSDN.GitHub.B站等平台分享一些技术博文,主要包括前端开发.pyt ...
- 变形版汉诺塔:LeetCode:70爬楼梯
70. 爬楼梯 题目链接:70:爬楼梯 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1 ...
- 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 ...
最新文章
- Blender从头开始装配和动画制作低多边形风格的FPS手臂
- 三星招聘|计算机视觉、机器学习岗位研究员及实习生
- html android canvas兼容_快来!这里有5分钟看完马上学会的HTML基础大全
- 新基建与新消费碰撞的时代,日日顺如何以场景物流重新定义物流服务?
- 在C语言中以编程的方式获取函数名
- 使用SQLiteHelper创建数据库并插入数据
- Android 干货,强烈推荐
- FPGA开发全攻略—— 调试
- mybatis转义反斜杠_mybatis参数格式化异常:NumberFormatException: For input string:xx
- 登陆拦截拦截ajax,过滤器实现登录拦截需要注意的问题(AJAX请求的处理)
- linux查进程内存问题,关于linux下内存问题排查的工具
- 解决Android Studio默认AppTheme 没有lable标签,不显示等问题
- 腾讯面试题:如何实现一个类似新浪微博的短链接服务!
- 矩阵分析(三):矩阵的列空间、行空间与零空间
- c语言学习宝典怎么样,C语言学习宝典
- PuttyPsftp命令行实现自动登录
- BUUCTF-MISC-黑客帝国~喵喵喵
- mysql程序设计考试app_MySQL数据库设计与应用知到APP期末考试完整答案
- 使用短信接口进行通知
- 鸿蒙系统与苹果系统,华为的鸿蒙系统和苹果的操作系统,有什么区别?