Quick actions

cmd+k|ctrl+k

Navigation

Languages

Udemy: Master Coding Interview - Recursion - #155

Snippet info

Language

Csharp

Visibility

public

Author

jcurrie33

Created

2020-08-12T06:15:14Z

Updated

2020-08-12T06:29:04Z

using System;
using System.Collections.Generic;

class MainClass {
    static void Main() {
        Console.WriteLine("Hello World!");
        
        fib = new List<int>();
        fib.Add(0);
        fib.Add(1);
        
        Console.WriteLine("FibonacciIterative(10) = " + FibonacciIterative(10));
        Console.WriteLine("FibonacciRecursive(10) = " + FibonacciRecursive(10));
    }
    
    public static List<int> fib;
    public static int FibonacciIterative(int n) {
        if (n >= fib.Count) {
            for (int i = fib.Count; i <= n; i++) {
                fib.Add(fib[i-2] + fib[i-1]);
            }
        }
        return fib[n];
        // if (n == 0) {
        //     return 0;
        // } else if (n == 1) {
        //     return 1;
        // } else {
        //     int index = 2;
        //     int prev2 = 0;
        //     int prev = 1;
        //     int current = 0;
        //     while (index <= n) {
        //         current = prev2 + prev;
        //         prev2 = prev;
        //         prev = current;
        //         index++;
        //     }
        //     return current;
        // }
    }
    
    public static int FibonacciRecursive(int n) {
        if (n == 0) {
            return 0;
        } else if (n == 1) {
            return 1;
        } else {
            return FibonacciRecursive(n-2) + FibonacciRecursive(n-1);
        }
    }
}
INFO