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?