首页 > 试题广场 >

跳台阶扩展问题

[编程题]跳台阶扩展问题
  • 热度指数:691872 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。

数据范围:
进阶:空间复杂度 , 时间复杂度
示例1

输入

3

输出

4
示例2

输入

1

输出

1
头像 牛客题解官
发表于 2020-05-29 14:56:47
精华题解 题目的主要信息: 对于n阶台阶,青蛙每次可以选择跳1到n中任意一个数的阶梯数 n为正整数,求青蛙跳上n级台阶的方案数 举一反三: 学习完本题的思路你可以解决如下题目: JZ69. 跳台阶 JZ10. 斐波那契数列 JZ70. 矩形覆盖 方法一:动态规划(推荐使用) 知识点:动态规划 动态规划算法 展开全文
头像 漫漫云天自翱翔
发表于 2021-07-01 16:19:41
精华题解 题解一:递归 题解思路:考虑最后一步是跳几阶到达目标位置的。 主要分析: 1.令f(n)表示n阶台阶总的跳法 2.假设最后只跳一步,那么f(n) = f(n-1); 最后跳两步,那么f(n) = f(n-2);以 展开全文
头像 未来0116
发表于 2021-06-23 19:29:55
精华题解 一.题目描述JZ9 跳台阶扩展问题题目链接:https://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387?tpId=13&&tqId=11162&rp=1&ru=/ta/coding-interv 展开全文
头像 把牛妹带回家
发表于 2019-07-26 15:45:30
易知 f(n)=f(n-1)+f(n-2)+……f(1)f(n-1)=f(n-2)+……f(1)两式相减得f(n)=2f(n-1) # -*- coding:utf-8 -*- class Solution: def jumpFloorII(self, number): # 展开全文
头像 中工升达预备毕业生
发表于 2019-08-29 16:05:20
f(n)=f(n-1)+f(n-2)+...+f(1)f(n-1)=f(n-2)+...f(1)得:f(n)=2*f(n-1) public class Solution { public int JumpFloorII(int target) { return 1<& 展开全文
头像 Cyril-廖思睿
发表于 2020-01-03 21:21:42
数学问题,一行代码即可 易知 f(n)=f(n-1)+f(n-2)+……f(1) f(n-1)=f(n-2)+……f(1)两式相减得 f(n)=2f(n-1)而 f(1) = 1所以 f(n) = pow(2, n - 1)由此得出: public class Solution { publ 展开全文
头像 那就来一个吧
发表于 2019-09-29 19:30:28
变态跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 分析 设 级台阶有 种跳法,根据最后一次跳台阶的数目可以分解为最后一次一级,则前面需要跳 级,有 种跳法;最后一次跳两级,则前面需要跳 级,有 种跳法。以此类推 易知,$$两式 展开全文
头像 jalr4ever
发表于 2019-08-05 22:36:20
迭代 本质上是斐波那契数列的变种,普通跳台阶是一步与两步,问题规模缩小到分成最后要跳到第 n 阶可以跳两次或者一次去求解,所以,在普通跳台阶,设置两个临时变量存下跳一次或者两次时,前面会有多少种可能的结果 dp 就是可以由什么状态推导出最后的状态,斐波那契数列是由前两种状态,而这里就是由前 n - 展开全文
头像 心谭
发表于 2019-12-29 23:47:36
【JavaScript题解】【剑指offer】【变态跳台阶】 题目描述 一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级……它也可以跳上 n 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」| xxoo521.co 展开全文
头像 郭家兴0624
发表于 2019-08-10 10:00:21
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 分析:所有情况的和可以分解为第一次跳0个台阶,剩余n个台阶的跳法+第一次跳1个台阶,剩余n-1个台阶的跳法+第一次跳2个台阶,剩余n-2个台阶的跳法+...+第一次跳n-1个台阶 展开全文
头像 -大陆诗人
发表于 2019-09-12 09:26:21
public class Solution {//规律是f(n) = f(n-1) public int JumpFloorII(int target) { int sum = 1; if(target == 0) return 0; 展开全文
头像 Oh~Sunny
发表于 2020-01-02 20:49:20
解释:使用数学归纳法可以很容易的得出: n=1时有1种跳法 n=2时有2种跳法 n=3时有4种跳法 n=4时有8种跳法 固总结出f(n) = 2**(n-1) class Solution: def jumpFloorII(self, number): # write c 展开全文
头像 Veggie
发表于 2020-02-27 23:39:21
题目来源:牛客网-剑指Offer专题题目地址:变态跳台阶 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 题目解析 这道题有两种比较可靠的方法可以得到规律: 第一种就是观察法,我们先枚举出自己有耐心算得出来的部分,一般是如下 展开全文