Quick actions

cmd+k|ctrl+k

Navigation

Languages

Dynamic Programming

Snippet info

Language

Dart

Visibility

public

Author

obihenry578

Created

2025-03-06T03:25:06.991207Z

Updated

2025-03-06T03:25:06.991207Z

void main() {
  addTo80(n){
      print('long time ');
      return n + 80;
  }
  
 
  memoizedAddTo80(){
      var cache = {};
      return (n){
          if(cache.containsKey(n)){
              return cache;
          }else{
              cache[n] = n + 80;
              return cache;
          }
      } ; 
  }
  
  
  var calculations = 0;
  fibonacci(n){
      calculations++;
      if(n < 2){
          return n;
      }
      
      return fibonacci(n-1) + fibonacci(n-2);
  }
  
    fibonacciMaster(){
   
        var cache = {};
        int fib (n){
             int calculations = 0;
            calculations++;
            if(cache.containsKey(n)){
                return cache[n];
            }else{
               
              if(n < 2){
              return n;
            }else{
               cache[n] = fib(n-1) + fib(n-2);
               return cache[n];
            }
       
          }
       }
        
    return (int n) {
        int result = fib(n);
        print("Total calculations: $calculations"); // Now prints correct value
        return result;
  };
  }
  

    var memoized = memoizedAddTo80();
      var faster = fibonacciMaster();
    //   print(fibonacci(8));
      print(calculations);
      print(faster(8));
  
//   print('1 ${memoized(5)}');
//   print('2 ${memoized(4)}');
   
}
INFO