我试图House Robber问题(dp问题)上的代码。 来自用户GYX的解决方案看起来简单而优雅。Leetcode房子劫匪
int rob(vector<int>& num) {
int n = num.size();
if (n==0) return 0;
vector<int> result(n+1,0);
result[1] = num[0];
for (int i=2;i<=n;i++){
result[i] = max(result[i-1],result[i-2]+num[i-1]);
}
return result[n];
}
但我只是无法让我的头在逻辑。请帮助我理解逻辑,以及如何解决这样的问题?