https://leetcode.com/problems/house-robber/discuss/
题目:每个房间里面有一定数目的钱,相邻房间不能同时被偷,求最多能偷多少钱。
思路:dp,dp[i]=max(dp[i-1],dp[x-2]+nums[i])
class Solution {
public:
int rob(vector<int>& nums) {
if(nums.size()==0) return 0;
int len=nums.size();
int dp[len+1];
dp[0]=0;dp[1]=nums[0];
for(int x=1;x<len;x++){
dp[x+1]=max(dp[x],dp[x-1]+nums[x]);
}
return dp[len];
}
};