打家劫舍
Last updated
Last updated
问题简述
思路
定义 dfs(i)
表示前 i
家能打劫的最大价值;
【递归基】i <= 0
时,有 dfs(0) = 0
;
小细节:因为会用到
i-2
的状态,所以需要定义i < 0
时的状态;
递推公式:dfs(i) = max(dfs(i-1), dfs(i-2) + nums[i-1])
;
对第
i
家(nums[i-1]
),有两种可能,不抢(dfs(i-1)
),抢(dfs(i-2) + nums[i-1]
),去其中的较大值;