g0501_0600.s0509_fibonacci_number.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g0501_0600.s0509_fibonacci_number;
// #Easy #Dynamic_Programming #Math #Recursion #Memoization #Dynamic_Programming_I_Day_1
// #Level_1_Day_10_Dynamic_Programming #Udemy_Dynamic_Programming
// #2022_07_25_Time_0_ms_(100.00%)_Space_41.4_MB_(15.60%)
/**
* 509 - Fibonacci Number\.
*
* Easy
*
* 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:** n = 2
*
* **Output:** 1
*
* **Explanation:** F(2) = F(1) + F(0) = 1 + 0 = 1.
*
* **Example 2:**
*
* **Input:** n = 3
*
* **Output:** 2
*
* **Explanation:** F(3) = F(2) + F(1) = 1 + 1 = 2.
*
* **Example 3:**
*
* **Input:** n = 4
*
* **Output:** 3
*
* **Explanation:** F(4) = F(3) + F(2) = 2 + 1 = 3.
*
* **Constraints:**
*
* * `0 <= n <= 30`
**/
public class Solution {
private int[] memo = new int[31];
public int fib(int n) {
if (n == 0) {
return 0;
}
if (n == 1) {
return 1;
}
if (memo[n] != 0) {
return memo[n];
}
memo[n] = fib(n - 1) + fib(n - 2);
return memo[n];
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy