剑指offer编程题Java实现——面试题9斐波那契数列
2024-08-26 07:44:14
题目:写一个函数,输入n,求斐波那契数列的第n项。
package Solution; /**
* 剑指offer面试题9:斐波那契数列
* 题目:写一个函数,输入n,求斐波那契数列的第n项。
* 0, n=1
* 斐波那契数列定义如下:f(n)= 1, n=2
* f(n-1)+f(n-2), n>2
* @author GL
*
*/
public class No9Fibonacci { public static void main(String[] args) {
System.out.println("第4项斐波那契数列的值为:"+fibonacci(4));
} /*
* 采用递归实现斐波那契数列生成函数,效率低
*/
public static int generateFibonacci(int n){
if(n==0)
return 0;
if(n==1)
return 1;
return generateFibonacci(n-1)+generateFibonacci(n-2);
} /*
* 采用循环实现斐波那契数列
* 存储数列中间项,求得结果
*/
public static int fibonacci(int n){
int[] result={0,1};
if(n<2)
return result[n];
int fibNMinusOne=1;
int fibNMinusTwo=0;
int fibN=0;
for(int i=2;i<=n;i++){
fibN=fibNMinusOne+fibNMinusTwo;
fibNMinusTwo=fibNMinusOne;
fibNMinusOne=fibN;
}
return fibN;
}
}
最新文章
- Manthan, Codefest 16(B--A Trivial Problem)
- C# 匿名对象随笔
- IIS6.0添加上.net4.0后,以前的.net系统出现“服务器应用程序不可用”的错误提示解决办法
- [Erlang 0104] 当Erlang遇到Solr
- spring异常-aoperror at :0 formal unbound in pointcut
- 给 Web 前端开发人员推荐20款 CSS 编辑器
- PostgreSQL Hot Standby的主备切换
- Linq中查询List组合相同值数量大于1
- Python子类方法的调用(类方法)
- bzoj 2744: [HEOI2012]朋友圈 二分图匹配
- MySql用statement实现DDL,DML,DQL的操作Demo
- TensorFlow 深度学习笔记 Stochastic Optimization
- MyEclipse8.5 无法安装ADT解决办法
- File的getParentFile()和getParent()
- [HNOI2009]无归岛
- 深入浅出—Redis集群的相关详解
- Linux-GitLab安装及汉化
- xftp无法用root账号登录问题
- cocos2d JS 自定义事件分发器(接收与传递数据) eventManager
- 【搜索】Dungeon Master
热门文章
- 04 Python数据类型
- Asp.Net+JQuery.Ajax之$.post
- leetcode200
- Elasticsearch **代码片段
- tensorflow-serving-gpu 本地编译并使用
- python生成器(generator)、迭代器(iterator)、可迭代对象(iterable)区别
- 什么是XML?
- [leetcode]58. Length of Last Word最后一个词的长度
- Python中使用RabbitMQ
- 22. pt-sift