剑指offer 算法入门题 斐波那契数列
题目描述 大家都知道斐波那契数列,现在要求输入一个正整数 ,请你输出斐波那契数列的第 项。 斐波那契数列是一个满足 数据范围:n≤39 要求:空间复杂度 ,时间复杂度 ,本题也有时间复杂度 的解法
输入描述: 一个正整数n 返回值描述: 输出一个正整数。
示例 第一种解法: 思路:看到这个题首先想到的就是用递归的方法 代码演示 public class Solution { public int Fibonacci(int n) { if (n == 0) return 0; if (n == 1) return 1; return Fibonacci(n - 1) + Fibonacci(n - 2); } } 第二种解法 思路:可以用循环把前两项之和始终赋给n-1项
代码演示 public class Solution { public int Fibonacci(int n) { int a = 0, b = 1; for (int i = 1; i <= n; i++) { a = a + b; b = a - b; } return a; } } 题目来源 https://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3?tpId=13&&tqId=11160&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
|