House Robber

Same as "Maximum Sum of Non-Adjacent Elements"

Problem Link: https://leetcode.com/problems/house-robber/

class Solution:
    def rob(self, nums: List[int]) -> int:
        
        n=len(nums)
        dp=[0]*(n)
        dp[0]=nums[0]
        if(n==1):
            return dp[0]
        dp[1]=max(nums[0],nums[1])
        if(n==2):
            return dp[1]
        for i in range(2,n):
            inc=nums[i]+dp[i-2]
            exc=dp[i-1]
            dp[i]=max(inc,exc)
        return dp[n-1]

Last updated