码迷,mamicode.com
首页 > 其他好文 > 详细

剑指offer07

时间:2018-01-13 20:50:21      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:else   for   一个   int   return   author   斐波那契数   result   数列   

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

标签:else   for   一个   int   return   author   斐波那契数   result   数列   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!