← switch

198. House Robber

medium

Array · Dynamic Programming

read the problem on leetcode →

first solved 18 Jun 2023

python
class Solution(object):
    def rob(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        dp=[0]* (len(nums))
        if len(nums)==1:
            return nums[0]
        dp[0]=nums[0]
        dp[1]=max(nums[0], nums[1])

        for i in range(2, len(nums)):
            dp[i]=max(dp[i-1], dp[i-2]+nums[i])

        return dp[len(nums)-1]