目錄lt198 打家劫舍i
[1,2,3,1] 相鄰不能偷
dp 記錄最大
func rob(nums int) int
if n==1
//dp代表到達位置的最大值,前乙個和i-2+nums[i]的最大值
dp:=make(int,len(nums)+1)
dp[0] = nums[0]
dp[1] = max(dp[0],nums[1])
for i:=2;iyelse
}
lt213 打家劫舍ii
房子頭尾相連,相鄰不能偷
兩個dp分別記錄拿第乙個房間和不拿第乙個
0,1,2時直接返回
func rob(nums int) int
if len(nums)==1
if len(nums)==2
dp:=make(int,len(nums)+1)
dp2:=make(int,len(nums)+1)
dp[0] = nums[0]
dp[1] = max(dp[0],nums[1])
dp2[0] = nums[1]
dp2[1] = max(dp2[0],nums[2])
//兩個 代表拿第乙個和不拿第乙個
for i:=2;iyelse
}
LeetCode 打家劫舍
你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。給定乙個代表每個房屋存放金額的非負整數陣列,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。示例 1 輸入 1...
leetcode 打家劫舍
你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。給定乙個代表每個房屋存放金額的非負整數陣列,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。示例 1 輸入 1...
leetcode 打家劫舍
你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。給定乙個代表每個房屋存放金額的非負整數陣列,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。示例 1 輸入 1...