### 198. House Robber 题目: 难度: Easy 状态转移方程: dp[i] = max(dp[i-1], dp[i-2] + nums[i]) AC 代码 ```python class Solution(object): def rob(self, nums): """ :type nums: List[int] :rtype: int """ n = len(nums) if n == 0 : return 0 elif n == 1 : return nums[0] elif n == 2 : return max(nums[0], nums[1]) else: dp = [0 for i in range(n)] dp[0] = nums[0] dp[1] = max(nums[0],nums[1]) for i in range(2,n): dp[i] = max( dp[i-1], dp[i-2] + nums[i]) return dp[n-1] ``` ```python class Solution(object): def rob(self, nums): """ :type nums: List[int] :rtype: int """ last, now = 0, 0 for i in nums: last, now = now, max(last + i, now) return now ```