明确dp[i]是什么意思,初始化,状态方程,求解
class Solution {
public:
int rob(vector<int>& nums) {
int n=nums.size();
int dp[n+1];
if(n==1) return nums[0];
dp[0] = 0;
dp[1] = nums[0];
dp[2] = max(dp[1],nums[1]);
for(int i=2;i<=n;++i){
dp[i] = max(dp[i-2]+nums[i-1],dp[i-1]);
}
return dp[n];
}
};