首页 > 其他 > 详细

剑指offer07

时间:2018-01-13 20:37:19      阅读:200      评论:0      收藏:0      [点我收藏+]
package jianzhiOffer; /**  * 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39  * @author user  *思路:既然n的大小有限制,就用递归来解决  * 0 1 1 2 3 5 8...  *非递归方式也可以实现,采用数组存储的方式  */ public class ch07 { //递归实现 public static int Fibonacci(int n) { if(n < 0) { return -1; } else if(n == 0) { return 0; } else if(n == 1) { return 1; } else { return Fibonacci(n - 1) + Fibonacci(n - 2); } } //非递归实现 public static int Fibonacci2(int n) { if(n < 0) { return -1; } else if(n == 0) { return 0; } else if(n <= 2) { return 1; } else { int[] arr = new int[n]; arr[0] = 1; arr[1] = 1; for (int i = 3; i <= n; i++) { arr[i - 1] = arr[i - 2] + arr[i - 3]; } return arr[n - 1]; } } public static void main(String[] args) { // int result = Fibonacci(5); int result = Fibonacci2(3); System.out.println(result); } }


剑指offer07

原文:http://blog.51cto.com/12222886/2060632

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!