题解 | #打家劫舍(二)#
打家劫舍(二)
https://www.nowcoder.com/practice/a5c127769dd74a63ada7bff37d9c5815
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型
*/
int rob(vector<int>& nums) {
// write code here
int n = nums.size();
vector<int>dp(n + 1, 0);
vector<int>dp1(n + 1, 0);
dp[1] = nums[0];
for(int i = 2; i < n; i++)
{
dp[i] = max(dp[i - 1], dp[i - 2] + nums[i-1]);
}
dp1[1] = 0;
for(int i = 2; i <= n; i++)
{
dp1[i] = max(dp1[i - 1], dp1[i - 2] + nums[i-1]);
}
return max(dp[n-1], dp1[n]);
}
};

安克创新 Anker公司福利 794人发布
查看3道真题和解析