【LeetCode题解】198. House Robber

来源:互联网 发布:琅琊榜骑兵进阶数据 编辑:程序博客网 时间:2024/06/13 23:18

将题意精简地叙述,即为抢劫犯在一排房子中抢劫,房子i中的钱的总量为nums[i],且相邻的房子不能同时抢劫。问最终最多能抢到多少钱?

该问题可以用DP思想进行解决,开辟数组ret,ret[i]表示抢到第i栋房子时可以抢到钱的最大数,

可得到状态方程:ret[i] = max{ret[i-1], ret[i-2]+nums[i]}

针对ret[0]和ret[1]需要单独拿出来进行计算,代码如下:

class Solution {public:    int rob(vector<int>& nums) {       int len = nums.size();       if(len == 0) return 0;       if(len == 1) return nums[0];              vector<int> ret(len,0);       ret[0] = nums[0];       ret[1] = max(nums[0],nums[1]);       for(int i=2; i < len; i++){           ret[i] = max(ret[i-1],ret[i-2]+nums[i]);       }       return ret[len - 1];    }};


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小米手机开关键失灵怎么办 小米手机开机键失灵怎么办 小米6不断重启怎么办 小米6一直重启怎么办 小米6自动重启怎么办 手机的开机键坏了怎么办 小米6频繁重启怎么办 小米6安装xp卡米怎么办 刷机失败反复重启怎么办 红米手机很卡怎么办啊 红米2a显示图标怎么办 手机一直处于开机状态怎么办 vivo手机进水开不了机怎么办 魅蓝s6锁了怎么办 pos机刷卡刷多了怎么办 红米5a开不机怎么办 魅族双亲要密码怎么办? 苹果wi-fi网速慢怎么办 腾达宽带用户名密码忘了怎么办 无线网秘密忘了怎么办 wan口设置已断开怎么办 中兴手机忘记解锁图案怎么办 u盘显示参数错误怎么办 硬盘vc加密密码忘了怎么办 软件文件移动到其他盘打不开怎么办 u盘无法复制文件怎么办 u盘大文件不能拷怎么办 abc看图打印不了怎么办 百度云大文件慢怎么办 手机视频缩略图加载失败怎么办 电脑突然卡住不动了怎么办 word文档被锁住了怎么办 手机qq磁盘已满怎么办 不小心格式化了硬盘怎么办 移动硬盘插上显示要格式化怎么办 微信网络特别慢怎么办 苹果六网速太慢怎么办 小米手机wifi网速慢怎么办 苹果8蜂窝上网慢怎么办 苹果6s4g网速慢怎么办 苹果7上网速度慢怎么办