Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 4e95d66

Browse files
添加(0509.斐波那契数.md):增加javascript版本优化空间复杂度到O(1)解法
1 parent 654bf61 commit 4e95d66

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

‎problems/0509.斐波那契数.md‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ func fib(n int) int {
234234
}
235235
```
236236
### Javascript
237+
解法一
237238
```Javascript
238239
var fib = function(n) {
239240
let dp = [0, 1]
@@ -244,6 +245,23 @@ var fib = function(n) {
244245
return dp[n]
245246
};
246247
```
248+
解法二:时间复杂度O(N),空间复杂度O(1)
249+
```Javascript
250+
var fib = function(n) {
251+
// 动规状态转移中,当前结果只依赖前两个元素的结果,所以只要两个变量代替dp数组记录状态过程。将空间复杂度降到O(1)
252+
let pre1 = 1
253+
let pre2 = 0
254+
let temp
255+
if (n === 0) return 0
256+
if (n === 1) return 1
257+
for(let i = 2; i <= n; i++) {
258+
temp = pre1
259+
pre1 = pre1 + pre2
260+
pre2 = temp
261+
}
262+
return pre1
263+
};
264+
```
247265

248266
TypeScript
249267

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /