面试题9:斐波那契数列
来源:互联网 发布:php音乐网站设计 编辑:程序博客网 时间:2024/06/02 02:04
问题描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。public class Solution {
public int JumpFloor(int target) {
if(target == 1){
return 1;
}
if(target ==2 ){
return 2;
}
int[] a = new int[target];
a[0]=1;
a[1]=2;
for(int i=2;i<target;i++){
a[i]=a[i-1]+a[i-2];
}
return a[target-1];
}
}
n<=39
java代码:
public class Solution {
public int Fibonacci(int n) {
int[] array = new int[n+1];;
if(n==0)
return 0;
if(n==1)
return 1;
array[0]=0;
array[1]=1;
int i =2;
while(i<=n){
array[i] = array[i-1]+array[i-2];
i=i+1;
}
return array[n];
}
}
变形题1:
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
public int JumpFloor(int target) {
if(target == 1){
return 1;
}
if(target ==2 ){
return 2;
}
int[] a = new int[target];
a[0]=1;
a[1]=2;
for(int i=2;i<target;i++){
a[i]=a[i-1]+a[i-2];
}
return a[target-1];
}
}
public
class
Solution {
public
int
RectCover(
int
target) {
int
a =
0
;
int
b =
1
;
int
t =
1
;
while
(target -- >
0
){
t = a + b;
a = b;
b = t;
}
return
t;
}
变形题2:
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
分析:
因为n级台阶,第一步有n种跳法:跳1级、跳2级、到跳n级
跳1级,剩下n-1级,则剩下跳法是f(n-1)
跳2级,剩下n-2级,则剩下跳法是f(n-2)
所以f(n)=f(n-1)+f(n-2)+...+f(1)
因为f(n-1)=f(n-2)+f(n-3)+...+f(1)
所以f(n)=2*f(n-1)
数列的方法啊~~~~~
得出最终结论,在n阶台阶,一次有1、2、...n阶的跳的方式时,总得跳法为:
| 1 ,(n=0 )
f(n) = | 1 ,(n=1 )
| 2*f(n-1),(n>=2)
public
class
Solution {
public
int
JumpFloorII(
int
target) {
if
(target <=
0
) {
return
-
1
;
}
else
if
(target ==
1
) {
return
1
;
}
else
{
return
2
* JumpFloorII(target -
1
);
}
}
}
阅读全文
0 0
- 面试题斐波那契数列
- 面试题9:斐波那契数列
- 【剑指offer】面试题9:斐波那契数列
- 剑指offer 面试题9 斐波那契数列
- 剑指Offer:面试题9 斐波那契数列
- 面试题9 斐波那契数列
- 面试题9:斐波那契数列
- 面试题9 斐波那契数列
- 面试题9:斐波那契数列
- 面试题9 斐波那契数列
- 面试题9:斐波那契数列
- 面试题9 斐波那契数列
- 面试题9:斐波那契数列
- 面试题9:斐波那契数列
- 剑指offer-面试题9:斐波那契数列
- 面试题9:斐波那契数列
- 面试题9:斐波那契数列
- 剑指offer 面试题9:斐波那契数列
- wordpress优化之修改后台登录地址
- 多因子模型之因子(信号)测试平台----因子值的处理(一)
- 网站开发(十)后台栏目的修改操作
- 查找旋转数组的最小数字
- JSP学习笔记
- 面试题9:斐波那契数列
- Android--获取View的宽高的几种方法
- centos7.2 安装破解版jira7.2.4
- 关于“树”的模版
- python中for和else学习
- Ch_01 引论
- 【demo】java file修改
- Django学习(5):Admin
- 主席树