第十九周OJ-Q198解题方法
来源:互联网 发布:拓普康怎样导入数据 编辑:程序博客网 时间:2024/06/05 01:49
问题:
ou are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security system connected and it will automatically contact the police if two adjacent houses were broken into on the same night.
Given a list of non-negative integers representing the amount of money of each house, determine the maximum amount of money you can rob tonight without alerting the police.
根据问题我们可以看出,要利用到动态规划的思想。maxV[i]表示到第i个房子位置,最大收益。那转移方程可以这么表示:maxV[i] = max(maxV[i-2]+num[i],maxV[i-1])
注:是否存在如下可能性,maxV[i-1]并不含num[i-1]?结论是,在这种情况下maxV[i-1]等同于maxV[i-2],因此前者更大。
代码如下:
introb(vector<int> &num) {
int n = num.size();
if(n == 0)
return 0;
else if(n == 1)
return num[0];
else
{
vector<int> maxV(n, 0);
maxV[0] = num[0];
maxV[1] = max(num[0], num[1]);
for(int i = 2; i < n; i ++)
maxV[i] = max(maxV[i-2]+num[i],maxV[i-1]);
return maxV[n-1];
}
}
- 第十九周OJ-Q198解题方法
- 第十九周oj刷题:时间差
- 第二周OJ-Q53解题方法
- 第三周OJ-Q402解题方法
- 第六周OJ-Q392解题方法
- 第七周OJ-Q1解题方法
- 第八周 OJ-Q15解题方法
- 第九周OJ-Q16解题方法
- 第十周OJ-Q18解题方法
- 第十二周OJ-Q24解题方法
- 第十三周OJ-Q58解题方法
- 第十五周OJ-Q118解题方法
- 第十六周OJ-Q134解题方法
- 第十七周OJ-Q452解题方法
- 第十八周OJ-Q152解题方法
- 第十九周OJ—Roken Necklace
- 第十九周oj刷题:日期转换
- 第十九周oj刷题:她胖么?
- 过滤器Filter的基本概述
- MSB LSB转换处理
- Python print 输出不换行
- 为什么写《Tomcat内核设计剖析》
- 使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉加载
- 第十九周OJ-Q198解题方法
- IOS常见问题解决
- 利维坦——(1)
- C#之学习7 类型转换
- MySQL安全连接
- [学习笔记]2017-7.1
- 文件拷贝
- java中监听器的概述
- 单链表的面试题2