Easy
一個盜賊準(zhǔn)備盜竊某條街上的房子,相鄰房子同時被竊時會觸動報警裝置∮嵌睿現(xiàn)在倘若知道每個房子里的錢窑滞,確定該盜賊在不驚動警察的前提下能偷到多少錢。
Solution
這是一個迭代問題:
假設(shè)房子錢數(shù)形成序列nums, 只考慮盜竊前k家的時候有下面的情況:
f(0) = nums[0]
f(1) = max(nums[:1])
f(k) = max(f(k-2)+nums[2],f(k-1))
給nums前面配兩個輔助0以幫助迭代椿疗。
class Solution(object):
def rob(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
last, now = 0, 0
for num in nums:
last, now = now, max(last+num,now)
return now