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];
}
};