OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library html_input_d; | 5 library html_input_d; |
6 | 6 |
7 int fib(int n) => _fib(n, new Map<int, int>()); | 7 int fib(int n) => n == 0 || n == 1 ? 1 : fib(n - 1) + fib(n - 2); |
8 | 8 |
9 int _fib(int n, Map<int, int> seen) { | 9 // TODO(sigmund): uncomment once core.Map is supported. |
10 if (n == 0 || n == 1) return 1; | 10 //int fib(int n) => _fib(n, new Map<int, int>()); |
11 if (seen[n] != null) return seen[n]; | 11 |
12 seen[n] = _fib(n - 1, seen) + _fib(n - 2, seen); | 12 //int _fib(int n, Map<int, int> seen) { |
13 return seen[n]; | 13 // if (n == 0 || n == 1) return 1; |
14 } | 14 // if (seen[n] != null) return seen[n]; |
| 15 // seen[n] = _fib(n - 1, seen) + _fib(n - 2, seen); |
| 16 // return seen[n]; |
| 17 //} |
OLD | NEW |