Java面试之斐波纳契数列递归与非递归实现
来源:互联网 发布:潘多拉克隆mac 编辑:程序博客网 时间:2024/06/06 01:52
问题:查找斐波纳契数列中第 N 个数。
所谓的斐波纳契数列是指:
前2个数是 0 和 1 。
第 i 个数是第 i-1 个数和第i-2 个数的和。
斐波纳契数列的前10个数字是:
所谓的斐波纳契数列是指:
前2个数是 0 和 1 。
第 i 个数是第 i-1 个数和第i-2 个数的和。
斐波纳契数列的前10个数字是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...
解答:
(一)递归实现:
class Solution { /** * @param n: an integer * @return an integer f(n) */ public int fibonacci(int n) { if(n==1){ return 0; }else if(n==2){ return 1; } else { return fibonacci(n-1)+fibonacci(n-2); } } } //总耗时: 4634 ms
(二) 非递归实现
class Solution { /** * @param n: an integer * @return an integer f(n) */ public int fibonacci(int n) { int before=0,behind=0; int result=0; for(int i=0;i<n;i++){ if(i==0){ result=0; before=0; behind=0; } else if(i==1){ result=1; before=0; behind=result; }else{ result=before+behind; before=behind; behind=result; } } return result; } } //总耗时: 1389 ms
转载自:http://blog.csdn.net/u013812939/article/details/46410367
0 0
- Java面试之斐波纳契数列递归与非递归实现
- Java面试之斐波纳契数列递归与非递归实现
- C/C++面试之算法系列--菲波拉契数列的递归与非递归算法
- C/C++面试之算法系列--菲波拉契数列的递归与非递归算法
- Fibonacci数列的递归与非递归实现
- fibonacci数列的递归与非递归实现
- Fibonacci数列的递归与非递归实现
- Fibonacci数列的递归与非递归实现算法详解
- java打印输出如下形式数列递归与非递归
- java代码--Fibonacci数列(递归与非递归效率)
- 斐波那契数列递归与非递归实现(JAVA语言描述)
- 斐波那契数列递归与非递归实现(JAVA语言描述)
- Java学习之旅--斐波那契数列的递归和非递归实现
- 斐波纳契数列的递归与非递归形式
- fibonacci数列 (递归与非递归)
- 程序员面试宝典之数据结构基础---⑤单链表逆序的递归与非递归实现
- 笔试面试算法经典--二叉树的镜像-递归与非递归实现(Java)
- 斐波那契数列数列递归与非递归方式实现
- javaee前置知识--xml文件的解析
- 使用字符数组
- 第1天:关于程序的3W1H
- Mastering Opencv ch4:SFM详解(三)
- burpsuite插件开发中文API
- Java面试之斐波纳契数列递归与非递归实现
- git 问题:permission denied
- [普及]NOIP 2015 求和
- 编程的一些感悟
- zhbj 的学习过程
- Java NIO Files
- react+redux+webpack移动端项目总结
- c# 防止内存泄露 内存溢出 之using的用法
- LeetCode-412. Fizz Buzz-Java