213. House Robber II
来源:互联网 发布:linux exec用法 编辑:程序博客网 时间:2024/06/10 18:46
class Solution {public: int rob(vector<int>& nums) { if(0 == nums.size()) return 0; if(1 == nums.size()) return nums[0]; return max(robLine(nums.begin(), nums.end()-2), robLine(nums.begin()+1, nums.end()-1)); } int robLine(vector<int>::iterator low, vector<int>::iterator high) { int sz = high - low + 1; if(0 == sz) return 0; if(1 == sz) return *low; if(2 == sz) return max(*low, *high); vector<int> max_chosen (sz, 0x80000000); vector<int> max_unchosen (sz, 0x80000000); max_chosen[0] = *low; max_unchosen[0] = 0; max_chosen[1] = *(low+1); max_unchosen[1] = max_chosen[0]; for(int i = 2; i < sz; ++i){ max_chosen[i] = *(low+i) +max(max_chosen[i-2], max_unchosen[i-2]); max_unchosen[i] = max(max_chosen[i-1], max_unchosen[i-1]); } return max(max_chosen.back(), max_unchosen.back()); }};
阅读全文
0 0
- 213.House Robber II
- 213. House Robber II
- 213. House Robber II
- 213. House Robber II
- 213. House Robber II
- 213. House Robber II
- 213. House Robber II
- 213. House Robber II
- 213. House Robber II
- 213. House Robber II
- 213. House Robber II
- 213. House Robber II
- 213. House Robber II
- 213. House Robber II
- 213. House Robber II
- 213. House Robber II**
- 213. House Robber II
- 213. House Robber II
- 重建二叉树
- 四种常见排序
- android-studio+Genymotion模拟器
- Ubuntu 16.04 安装 MySQL
- Js实现鼠标滚轮滑动监听
- 213. House Robber II
- UITableView 基本使用方法 iOS的listview
- php正则去除文章页标签范例
- laravel Task Scheduling(任务调度)在windows下的使用
- IMPDP命令
- Flink入门教程--Jobs and Scheduling(任务和调度)
- 笔记:linux下查询网络端口被监听的信息方法。
- spfa算法
- 解决jsp上传文件,重启tomcat后文件和文件夹自动删除