跳台阶和变态跳台阶问题

原创 2018年04月15日 19:51:34

跳台阶:

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

f(1)=1(表示跳上1级台阶总的跳法),f(2)=2

f(n)=f(n-1)+f(n-2)

矩阵覆盖问题:

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

f(1)=1(表示覆盖2*1的矩阵的总共的方法),f(2)=2

f(n)=f(n-1)+f(n-2)

以上两题为了减少递归带来的复杂度,可以用一个数组记录f(1)到f(n)的值,这样可以直接查表的结果。

变态跳台阶:

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

这个问题,f(1)=1(表示跳上1级台阶总的跳法),f(2)=2,...,f(n)=f(n-1)+f(n-2)+...+f(n-(n-1))+1(跳上n级台阶分一下n中情况,最后一步跳了1级那么共用f(n-1)种,最后一步跳了2级那么共用f(n-2)种,。。。,最后一步跳了n级那么共用1种,然后把所以情况的所以跳法加起来

最后通过计算,发现f(1)=1=2^0,f(2)=2=2^1,f(3)=4=2^2......f(n)=2^(n-1)

JAVA实现变态跳台阶问题(《剑指offer》)

最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网...
  • qq_15062527
  • qq_15062527
  • 2015-10-01 16:31:17
  • 2024

【剑指offer】变态跳台阶

斐波那契序列的变种,简单题,在九度OJ上测试通过。 时间限制:1 秒 内存限制:32 兆 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有...
  • mmc_maodun
  • mmc_maodun
  • 2014-05-09 09:52:08
  • 3187

跳台阶问题 + 变态跳台阶问题 解法(动态规划递归 + 非递归)

一、跳台阶问题 题目描述: 一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。 通过题目的描述,可以很清晰地看到,这就是一个Fibonacci数列。 ...
  • friendbkf
  • friendbkf
  • 2015-11-26 21:39:19
  • 5671

跳台阶以及变态跳台阶问题

解法一:target表示距离目标还有多远,进行递归 public class Solution { public int JumpFloor(int target) { ...
  • shl_shl
  • shl_shl
  • 2017-03-03 10:52:39
  • 353

牛客网——跳台阶和变态跳台阶问题

1、跳台阶 题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种方法? 解答:这种问题一般是有规律的,跳1级台阶,只有1种方法;跳2级台阶,有2种...
  • NOT_GUY
  • NOT_GUY
  • 2017-12-19 15:33:54
  • 83

变态跳台阶[剑指offer]之python实现

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。题目链接# -*- coding:utf-8 -*- class Solution...
  • huaxixidongbeishida
  • huaxixidongbeishida
  • 2016-10-14 16:53:39
  • 988

跳台阶问题(变态跳台阶)的三种解法

题目1:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。 们把n级台阶时的跳法看成是n的函数,记为f(n)。当n>2时,第一次跳的时候就有两种不同...
  • u014082714
  • u014082714
  • 2015-03-18 10:35:26
  • 1100

[牛客网,剑指offer,python] 变态跳台阶

变态跳台阶题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路这个问题和 跳台阶 很类似,只是将青蛙每次跳跃阶数的选择从两种扩...
  • ysk0825
  • ysk0825
  • 2017-07-02 20:31:28
  • 545

LeetCode(53) Climbing Stairs (剑指Offer->跳台阶、变态跳台阶)

Climbing Stairs (跳台阶)题目描述You are climbing a stair case. It takes n steps to reach to the top.Each ti...
  • angelazy
  • angelazy
  • 2015-09-23 19:38:44
  • 767

跳台阶问题(变态跳台阶)

程序员面试100题之二:跳台阶问题(变态跳台阶) 分类: 数据结构 C/C++2011-08-14 21:22 3983人阅读 评论(1) 收藏 举报 面试算法n2 题目1:...
  • Enjoying_Science
  • Enjoying_Science
  • 2014-11-05 21:41:46
  • 517
收藏助手
不良信息举报
您举报文章:跳台阶和变态跳台阶问题
举报原因:
原因补充:

(最多只允许输入30个字)