213. House Robber II (Medium)
Last updated
Last updated
你是位專業的強盜, 計畫搶劫一條街上的房子. 每間房子都存有各自的金額. 所有的房子都被排列到一個圓上. 所以第一間房子也會是最後一間房子.相鄰的房子的保全系統是相連的, 而且若相鄰的房子遭破壞時將會自通知警察
給予一個代表每間房子內金額的list, 找出不被報警下可搶得的最大金額
Dynamic programming
迴圈list中的所有店家:
每回合要選擇可以賺最多錢的選項
1.到前前家為止所儲存錢 + 偷這一間的錢
2.到前家為止所儲存錢 + 不偷這一間的錢
由於房子排列成圓形, 因此有兩種情形要考慮:
1.選擇第一間 + 選擇倒數第二間時
2.選擇第二間 + 選擇倒數第一間時