首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
爬楼梯
[编程题]爬楼梯
热度指数:19029
时间限制: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收藏
21554浏览
热门推荐
通过挑战的用户
查看代码
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
相关试题
执行以下程序,理论上输出的结果应最...
360集团
Python
算法工程师
2019
评论
(1)
来自
360公司-2019校招...
什么是竞争与冒险现象?怎样判断?如...
数字电路
评论
(1)
电子系统中常用的模拟电路及其功能
模拟电路
评论
(1)
计算分类模型的性能指标
机器学习
评论
(0)
实现 k-Means 聚类算法
机器学习
评论
(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