首页 > 其他 > 详细

[Twitter] Fibonacci Sequence

时间:2015-01-16 17:05:50      阅读:249      评论:0      收藏:0      [点我收藏+]

Question:

Given a number n, give me a function that returns the nth fibonacci number. Running time, space complexity, iterative vs. recursive.


http://www.glassdoor.com/Interview/Given-a-number-n-give-me-a-function-that-returns-the-nth-fibonacci-number-Running-time-space-complexity-iterative-vs-r-QTN_250204.htm


// Recusive
// O(2^n)
public int fibonacci(int n)
{
  if (n <= 0)
    return 0;
  if (n == 1)
    return 1;
  if (n == 2)
    return 2;
  return fibonacci(n - 2) + fibonacci(n - 1);
}

// Iterative
// O(n)
public int fibonacci(int n)
{
    if (n <= 0)
        return 0;
    if (n == 1)
        return 1;
    if (n == 2)
        return 2;
        
    // last, cur, next
    int last = 1;
    int cur = 2;    
    for (int i = 3 ; i <= n ; i ++)
    {
        int temp = cur;
        cur = cur + last;
        last = temp;
    }
    return cur;
}


[Twitter] Fibonacci Sequence

原文:http://7371901.blog.51cto.com/7361901/1604687

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