首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
爬楼梯
[编程题]爬楼梯
热度指数:18961
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32M,其他语言64M
算法知识视频讲解
你在爬楼梯,需要n步才能爬到楼梯顶部
每次你只能向上爬1步或者2步。有多少种方法可以爬到楼梯顶部?
示例1
输入
1
输出
1
示例2
输入
3
输出
3
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(0)
邀请回答
收藏(48)
分享
提交结果有问题?
92个回答
3篇题解
开通博客
南极长生大帝
发表于 2020-08-23 16:57:35
规律:f(1)=1,f(2)=2,f(3)=f(2)+f(1),f(n)=f(n-1)+f(n-2)结果完全依赖于前两阶梯方法之和1.递归 int method(int n){ if(n<=2){ return n; } return method(n-
展开全文
诗悦网络内推_有问必答
发表于 2021-11-02 13:30:57
解题思路 因为每次只能爬1或2个台阶, 从1个2个台阶开始推断, 并将问题n阶台阶拆解为求解到达n-1阶台阶以及n-2阶台阶的总和, 过程中缓存已记录阶数对应的数据 代码 -spec climb_stairs(N :: integer()) -> integer(). climb_stairs
展开全文
华科不平凡
发表于 2020-08-30 20:15:32
两种方法: 斐波那契数列(找规律——爬1层1种,2层2种,3层3种,4层5种...) 动态规划 有必要总结一下找规律的解法:这种解法需要细心和耐心,我们一般取出前3种情况看一下规律,如果规律不明显,可以增加情况,直到过于复杂才放弃此解法。PS:前几种情况同样可以用来检验算法的正确性 动态规划
展开全文
问题信息
动态规划
难度:
92条回答
48收藏
21171浏览
热门推荐
通过挑战的用户
查看代码
bleurenard
2023-03-13 20:06:38
牛客25957...
2023-02-25 14:45:47
wdxdy
2023-02-17 20:26:36
JAVA开发区
2022-11-10 09:47:50
牛客14310...
2022-11-09 21:16:14
相关试题
编程题 ,按照要求创建Java 应...
Java
评论
(1)
微型计算机有三种总线,他们分别是数...
编程基础
评论
(1)
计算机系统中用于管理硬件和软件资源...
编程基础
评论
(1)
市场与销售的区别在哪里?
市场营销
评论
(1)
说出3个获取用户需求的方法并简述其...
用户研究
评论
(1)
爬楼梯
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { /** * * @param n int整型 * @return int整型 */ public int climbStairs (int n) { // write code here } }
class Solution { public: /** * * @param n int整型 * @return int整型 */ int climbStairs(int n) { // write code here } };
# # # @param n int整型 # @return int整型 # class Solution: def climbStairs(self , n ): # write code here
/** * * @param n int整型 * @return int整型 */ function climbStairs( n ) { // write code here } module.exports = { climbStairs : climbStairs };
# # # @param n int整型 # @return int整型 # class Solution: def climbStairs(self , n ): # write code here
package main /** * * @param n int整型 * @return int整型 */ func climbStairs( n int ) int { // write code here }
1
1
3
3