Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit af20cf1

Browse files
committed
feat: BigInt fib
1 parent 154af66 commit af20cf1

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

动态规划/斐波那契数列-509.js

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,41 @@
33
* @return {number}
44
*/
55
let 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));

0 commit comments

Comments
 (0)