LeetCode[198. 打家劫舍]
class Solution {
public:
int rob(vector<int>& nums) {
int n = nums.size();
vector<int> f(n + 1), g(n + 1);
for(int i = 1; i <=n; i++)
{
f[i] = max(f[i - 1],g[i - 1]);
g[i] = f[i - 1] + nums[i - 1];//如果说第i天要偷
}
return max(f[n], g[n]);
}
};
/*
f[i]表示不偷第i个物品
g[i]表示要偷第i个物品
*/
AI大三在读

浙公网安备 33010602011771号