题目
代码
class Solution {
public:
int rob(vector<int>& nums) {
if(nums.size()==0)
return 0;
if(nums.size()==1)
return nums[0];
if(nums.size()==2)
return nums[1]>nums[0]?nums[1]:nums[0];
vector<int> max(nums.size(),0);
max[0]=nums[0];
max[1]=nums[1];
for(int i=1;i<nums.size();i++)
{
for(int j=i-2;j>=0;j--)
{
if(max[i]<max[j]+nums[i])
max[i]=max[j]+nums[i];
}
}
int res=max[0];
for(auto i:max)
{
if(res<i)
res=i;
}
return res;
}
};