https://leetcode-cn.com/problems/house-robber/
你是一個(gè)專業(yè)的小偷嚼黔,計(jì)劃偷竊沿街的房屋蠢挡。每間房內(nèi)都藏有一定的現(xiàn)金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統(tǒng)化撕,如果兩間相鄰的房屋在同一晚上被小偷闖入几晤,系統(tǒng)會(huì)自動(dòng)報(bào)警。
給定一個(gè)代表每個(gè)房屋存放金額的非負(fù)整數(shù)數(shù)組植阴,計(jì)算你在不觸動(dòng)警報(bào)裝置的情況下蟹瘾,能夠偷竊到的最高金額。
示例 1:
輸入: [1,2,3,1]
輸出: 4
解釋: 偷竊 1 號(hào)房屋 (金額 = 1) 掠手,然后偷竊 3 號(hào)房屋 (金額 = 3)憾朴。
偷竊到的最高金額 = 1 + 3 = 4 。
示例 2:
輸入: [2,7,9,3,1]
輸出: 12
解釋: 偷竊 1 號(hào)房屋 (金額 = 2), 偷竊 3 號(hào)房屋 (金額 = 9)喷鸽,接著偷竊 5 號(hào)房屋 (金額 = 1)众雷。
偷竊到的最高金額 = 2 + 9 + 1 = 12 。
思路(未驗(yàn)證):
動(dòng)態(tài)規(guī)劃
對(duì)于元素a[i]來說有兩種情況做祝,取或不取砾省, 記到第i個(gè)房間時(shí)偷的金額是 s[i] ,
則s[i]= max(s[i-2]+a[i], s[i-1])
初始化 s[j]=0,其中j<0剖淀。