个性机器猫

文章
9
资源
1
加入时间
2年10月17天

163、【动态规划】leetcode ——198. 打家劫舍(C++版本)题目描述解题思路

dp[i] = max(dp[i - 1], dp[i - 2] + nums[i]),因此相邻的数不能选择,最少隔一个选一个。dp[i - 1]:不选当前的i,选择上一个i-1,。dp[i - 2] + nums[i]:从上一个i - 2往后选择当前i,而不选择上一个i - 1。因为有i-1和i-2,因此从i=2开始遍历,一直到n-1(因为这次设置dp[0]具有一个含义,因此到n-1,而不是n)。从0-i中选择数,组成的最大总和。