package algo.dp;
/**
* Created by sherxon on 3/2/17.
*/
public class FibonacciNumber {
int fib(int n) {
if (n <= 0) return 0;
if (n == 1 || n == 2) return 1;
int f1 = 1;
int f2 = 2;
while (f1 < n) {
int f3 = f1 + f2;
f1 = f2;
f2 = f3;
}
return f1;
}
int fibonacci(int[] a, int n) {
if (n <= 0) return 0;
if (n == 1 || n == 2) return 1;
if (a[n] != 0) return a[n];
a[n] = fibonacci(a, n - 1) + fibonacci(a, n - 2);
return a[n];
}
}