剑指offer面试题10:斐波那契数列(Java 实现)
2019-01-05 15:18
323 查看
题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
思路:使用递归会重复计算,效率较低,可以用循环自下到上计算。
基于循环:时间复杂度为O(n)
测试用例:
- 功能测试:输入3、5、10 等。
- 边界测试:输入0、1、2
- 性能测试:输入较大的数(如40、50、100 等)。
public class test_ten { public int fibonacci(int n){ int result = 0; int preOne = 1; int preTwo = 0; if(n==0)return preTwo; if(n==1)return preOne; for(int i=2; i<=n;i++){ result = preOne + preTwo; preTwo = preOne; preOne = result; } return result; } }
相关文章推荐
- 剑指offer面试题10 二进制中1的个数 java实现
- 剑指offer--面试题24:二叉搜索树的后序遍历序列--Java实现
- 剑指Offer:面试题11——数值的整数次方(java实现)
- 剑指offer面试题15:二进制中1的个数(Java 实现)
- JAVA实现斐波那契数列问题(《剑指offer》)
- 剑指Offer面试题4:替换空格 Java实现
- 剑指offer-chapter2-面试题9-斐波那契数列(java)
- 剑指Offer:面试题8——旋转数组的最小值(java实现)
- 剑指offer 面试题23 从上往下打印二叉树 Java实现
- 剑指offer编程题Java实现——面试题6重建二叉树
- 剑指offer面试题7:重建二叉树 Java代码实现
- 剑指offer面试题12:矩阵中的路径(Java实现)
- 剑指Offer 面试题27:二叉树的镜像 Java代码实现
- 剑指Offer:面试题19——二叉树的镜像(java实现)
- 剑指Offer:面试题26——复制复杂的链表(java实现)
- 剑指Offer面试题29:数组中出现次数超过一半的数字 Java实现
- 剑指offer面试题26:复杂链表的复制Java实现
- JAVA实现斐波那契数列问题(《剑指offer》)
- 剑指offer面试题47 不用加减乘除做加法 (java实现)
- 剑指Offer 面试题22:链表中倒数第k个节点 Java代码实现