213. House Robber II
2016-04-22 10:29
239 查看
//0ms //比I中多了个条件,就是围成环了,这样,实际上就是两种情况,一种是从节点0处断开,为直线,求dp最大解,另一种就是从节点nums.size()-1处断开,成一条直线,求两者中的大的 class Solution { public: int rob(vector<int>& nums) { if(nums.size()==0) return 0; if(nums.size()==1) return nums[0]; vector<int> v; v.push_back(nums[0]); for(int i=1;i<nums.size()-1;i++) { if(i==1) v.push_back(max(nums[0],nums[1])); else v.push_back(max(v[i-1],nums[i]+v[i-2])); } int sum=v[v.size()-1]; v[0]=nums[1]; for(int i=2;i<nums.size();i++) { if(i==2) v[i-1]=max(nums[2],nums[1]); else v[i-1]=max(v[i-2],nums[i]+v[i-3]); } return max(sum,v[v.size()-1]); } };
相关文章推荐
- [后缀数组 set] BZOJ 4516 [Sdoi2016]生成魔咒
- 方法(面向对象篇)
- 如何理解UX 设计中的功能动效
- Storm记录级容错的基本原理(acker工作原理)
- 关于注解@ResponseBody 和 @RequestMapping
- 使用Cocos开发一款简单的3D VR抓钱游戏
- 查找与排序
- 自己的菜单,阻止默认事件
- 【Kylin实战】邮件报表生成
- 20常用正则表达式
- 如何算是脚本正确的执行——记一次新员工考核
- 输错密码?这个 sudo 会“嘲讽”你
- 避免同一activity下 多个fragment 切换时重复执行onCreateView方法
- Java层Binder使用(ServiceManager)
- OpenStack for NFV applications: enabling Single Root I/O virtualization and PCI-Passthrough
- 动效-APP设计的肢体语言
- C++实验3-3
- [CareerCup] 17.5 Game of Master Mind 猜字游戏
- Linux chattr锁定关键的系统文件
- 学习笔记之加密解密,PKI,CA