198. House Robber LeetCode

来源:互联网 发布:眼皮抽脂的危害知乎 编辑:程序博客网 时间:2024/04/28 04:18

题意:有N个房间,每个房间里面有的财宝价值nums[i],现在有一个小偷,他去这些房间里面偷东西,但是他不能偷相邻的两个房间,现在要求如何偷才能使得偷到的东西价值最多。
题解:dp,dp[i]代表偷到第i个房间时,能获取的最大价值。dp[i] = max(dp[i - 2] + nums[i],dp[i - 1]);

class Solution {public:    int rob(vector<int>& nums) {        int n = nums.size();        vector<int> v(n + 1,0);        v[0] = 0;        for(int i = 1; i <= n; i++)        {            if(i == 1) v[1] = nums[0];            else v[i] = max(v[i - 2] + nums[i - 1],v[i - 1]);        }        return v[n];    }};
0 0
原创粉丝点击