动归:f(i)=max{f(i-1),f(i-2)+nums[i]}
class Solution {
public:
int rob(vector<int>& nums) {
if(nums.size()==0)
return 0;
vector<int> table;
table.push_back(nums[0]);
table.push_back(max(nums[0],nums[1]));
for(int i=2;i<nums.size();i++)
{
int temp=max(table[i-1],table[i-2]+nums[i]);
table.push_back(temp);
}
return table[nums.size()-1];
}
int max(int a,int b)
{
return a<b?b:a;
}
};
本文介绍了一种使用动态规划解决房屋打劫问题的方法。通过递推公式 f(i)=max{f(i-1),f(i-2)+nums[i]}
232

被折叠的 条评论
为什么被折叠?



