关闭

09扩展 青蛙跳台阶(高效解法)

365人阅读 评论(0) 收藏 举报
分类:
青蛙一次可以跳一级或者两级的太极网,求跳上一个n级的台阶总共有多少种方法    (n>=1)



import java.util.Scanner;

public class JumpFloor1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);

		while (in.hasNextInt()) {
			int n = in.nextInt();
			System.out.println(JumpFloor(n));
		}

	}

	public static int JumpFloor(int number) {
		if (number == 1 || number == 2) {
			return number;
		}

		int jumpFib = 0;
		int NumberMinusOne = 2;
		int NumberMinusTwo = 1;
		for (int i = 3; i <= number; i++) {
			jumpFib = NumberMinusOne + NumberMinusTwo;
			NumberMinusTwo = NumberMinusOne;
			NumberMinusOne = jumpFib;

		}
		return jumpFib;
	}
}

测试结果:


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

跳台阶问题-java

跳台阶问题题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解析这个问题归根结底还是一个费布拉奇数列,仔细找一下规律即可,刚开始做的时候我是直接写出前...
  • wenruo95
  • wenruo95
  • 2015-07-30 00:45
  • 1045

笔试中经常遇见的台阶问题(java版本)

笔试中经常会出现这样类型的单选题目 一只青蛙,跳上台阶,一次可以跳一阶,或者一次跳两阶,问跳跃50阶台阶有多少种跳法?一只猴子,摘香蕉,一次可以摘一个,或者一次摘两个,问摘50个香蕉有多少种摘法?...
  • u010372981
  • u010372981
  • 2015-04-08 12:29
  • 1468

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

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

走台阶的问题的心得

先描述一下题:有m(m>0)个台阶,每次只能跨越一个或者两个台阶,一共有多少种走法(如果m=1走法为0)?首先我们先分析一下:看到上面两个表格,你会发现走台阶的的本质是求第m个斐波那契数,数学真是奇妙...
  • youloveit
  • youloveit
  • 2015-04-17 11:10
  • 527

跳台阶问题-----递归算法

首先我们说说什么是递归。 这是百度百科所给出的解释。可见直白来说递归的意思就是调用自身的一种算法。而递归算法所包必有内容有3个: 1.边界条件:没有边界的递归想来大家知道是什么后果了,无限递归。就陷...
  • jikun1234
  • jikun1234
  • 2016-04-10 21:56
  • 2506

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

题目1:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。 分析:这道题最近经常出现,包括MicroStrategy等比较重视算法的公司都曾先...
  • wu_cai_
  • wu_cai_
  • 2016-07-17 16:17
  • 1039

POJ2965的枚举解法和高效解法

Description The game “The Pilots Brothers: following the stripy elephant” has a quest where a playe...
  • northsnow_bupt
  • northsnow_bupt
  • 2013-09-05 21:55
  • 1408

【面试题】N级台阶(比如100级),每次可走1步或者2步,求总共有多少种走法?

走台阶算法(本质上是斐波那契数列)在面试中常会遇到,描述就如题目那样:总共100级台阶(任意级都行),小明每次可选择走1步、2步或者3步,问走完这100级台阶总共有多少种走法?一、 题目分析这个问题本...
  • u010983881
  • u010983881
  • 2016-01-05 15:31
  • 11384

扩展欧几里德算法求解线性同余方程

转自http://hi.baidu.com/sunhaowenprime/item/5626e3e69858afaec10d7522       欧几里德算法   欧几里德算法又称辗转相除...
  • lwfcgz
  • lwfcgz
  • 2013-05-05 20:48
  • 5943

青蛙跳台阶衍生之变态跳台阶(递归,思路分析及代码实现)

//一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 //思路: 接上一个跳台阶问题思路继续分析,上个问题中,青蛙只能跳1级或者2级。...
  • ssopp24
  • ssopp24
  • 2017-07-21 00:18
  • 824
    个人资料
    • 访问:44230次
    • 积分:1617
    • 等级:
    • 排名:千里之外
    • 原创:120篇
    • 转载:11篇
    • 译文:0篇
    • 评论:4条
    最新评论