Understanding Your Code Evaluation
Code Quality
Up to 200 points
Accuracy
Up to 400 points
Efficiency
Up to 200 points
Your Code600 / 800 points
1function fibonacci(n) {
2 if (n <= 1) return n;
3 return fibonacci(n - 1) + fibonacci(n - 2);
4}
Line 1: Function declaration is correct
Line 2: Base case is handled correctly
Line 3: Recursive call is correct but inefficient for large inputs
Reference Solution
1function fibonacci(n) {
2 const fib = [0, 1];
3 for (let i = 2; i <= n; i++) {
4 fib[i] = fib[i - 1] + fib[i - 2];
5 }
6 return fib[n];
7}
Lines 2-5: Iterative approach with memoization improves efficiency
Overall: O(n) time complexity and O(n) space complexity
Your solution is correct but less efficient. The reference solution uses an iterative approach with memoization, which is more efficient for larger inputs.
Time Complexity: Your solution is O(2^n), while the reference solution is O(n).
Space Complexity: Your solution uses O(n) stack space due to recursion, while the reference solution uses O(n) explicit space.
Consider optimizing your code for better performance, especially for larger inputs.