OLD | NEW |
1 var html_input_d; | 1 var html_input_d; |
2 (function(html_input_d) { | 2 (function(exports) { |
3 'use strict'; | 3 'use strict'; |
4 // Function fib: (int) → int | 4 // Function fib: (int) → int |
5 function fib(n) { | 5 function fib(n) { |
6 return _fib(n, new core.Map()); | 6 return _fib(n, new core.Map()); |
7 } | 7 } |
8 // Function _fib: (int, Map<int, int>) → int | 8 // Function _fib: (int, Map<int, int>) → int |
9 function _fib(n, seen) { | 9 function _fib(n, seen) { |
10 if (dart.notNull(n === 0) || dart.notNull(n === 1)) | 10 if (dart.notNull(n === 0) || dart.notNull(n === 1)) |
11 return 1; | 11 return 1; |
12 if (seen.get(n) !== null) | 12 if (seen.get(n) !== null) |
13 return seen.get(n); | 13 return seen.get(n); |
14 seen.set(n, _fib(n - 1, seen) + _fib(n - 2, seen)); | 14 seen.set(n, _fib(n - 1, seen) + _fib(n - 2, seen)); |
15 return seen.get(n); | 15 return seen.get(n); |
16 } | 16 } |
17 // Exports: | 17 // Exports: |
18 html_input_d.fib = fib; | 18 exports.fib = fib; |
19 })(html_input_d || (html_input_d = {})); | 19 })(html_input_d || (html_input_d = {})); |
OLD | NEW |