File tree Expand file tree Collapse file tree 1 file changed +30
-3
lines changed Expand file tree Collapse file tree 1 file changed +30
-3
lines changed Original file line number Diff line number Diff line change 33 * @return {number }
44 */
55let fib = function ( N ) {
6- let dp = new Array ( N + 1 ) . fill ( 0 ) ;
6+ let dp = [ ]
77
8- dp [ 0 ] = 0 ;
9- dp [ 1 ] = 1 ;
8+ dp [ 0 ] = 0n ;
9+ dp [ 1 ] = 1n ;
1010
1111 for ( let i = 2 ; i <= N ; i ++ ) {
1212 dp [ i ] = dp [ i - 1 ] + dp [ i - 2 ] ;
1313 }
1414
1515 return dp [ N ] ;
1616} ;
17+
18+ // let fib = (function () {
19+ // let memo = new Map();
20+ // return function (n) {
21+ // // 优先从记忆里取 找到就直接 return
22+ // // 否则又要进入下面的递归逻辑 非常耗时
23+ // let memorized = memo.get(n);
24+ // if (memorized) {
25+ // return memorized;
26+ // }
27+
28+ // if (n == 1 || n == 2) {
29+ // return 1;
30+ // }
31+
32+ // let f1 = fib(n - 1)
33+ // let f2 = fib(n - 2)
34+
35+ // // 记忆下来
36+ // memo.set(n - 1, f1)
37+ // memo.set(n - 2, f2)
38+
39+ // return f1 + f2
40+ // };
41+ // })();
42+
43+ console . log ( fib ( 10000 ) ) ;
You can’t perform that action at this time.
0 commit comments