198. House Robber (dp)

xiaoxiao2021-02-28  10

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]; } };
转载请注明原文地址: https://www.6miu.com/read-750315.html

最新回复(0)