The Fibonacci numbers, commonly denoted `F(n)` form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from `0` and `1`. That is, `F(0) = 0, F(1) = 1, F(N) = F(N - 1) + F(N - 2), for N > 1`.

Given `N`, calculate `F(N)`.

Example 1:
Input: 2
Output: 1
Explanation: F(2) = F(1) + F(0) = 1 + 0 = 1.

Example 2:
Input: 3
Output: 2
Explanation: F(3) = F(2) + F(1) = 1 + 1 = 2.

Example 3:
Input: 4
Output: 3
Explanation: F(4) = F(3) + F(2) = 2 + 1 = 3.

``````/*
* 509. Fibonacci Number
* https://leetcode.com/problems/fibonacci-number/submissions/
* https://realneo.me/509-fibonacci-number/submissions/
*/

public class Fib {
public static void main(String[] args) {
Fib solution = new Fib();

System.out.println(solution.fib(5));
System.out.println(solution.fib(20));
}

private int fib(int N) {
if (N == 0) return 0;
if (N == 1) return 1;

int[] fib = new int[N + 1];
fib = 0;fib = 1;
for (int i = 2; i <= N; i++)
fib[i] = fib[i - 1] + fib[i - 2];

return fib[N];
}
}``````