198. House Robber (1d to 2d, 1d, fib)

DFS - over time limit

DFS + memo

T: O(n)

S: O(n)

same

dp

注意 限制是不能連續偷

多加一維後

time: O(n)

space: O(2n)

更優化的方式, top down

time: O(n)

space: O(n)

button up

非常精簡, 只是空間要多 2

更優化

最後, 既然都只剩 dp[i-1] 和 dp[i-2], 是不是可以像 fib 一樣, 用兩個變數來存?

time: O(n)

space: O(1)

這樣寫好像更簡單哈...

為了只用變數, 再計算完 dpi (最新的答案後

我們要把 dpi 保留到下一 round, 還有 dpi1 保留, dpi2 可以丟棄

保留 dpi1, dpi

so dpi2 = dpi1

dpi1 = dpi

Last updated

Was this helpful?