HouseRobber
//
// Created by Administrator on 2021/7/27.
//
#ifndef C__TEST01_HOUSEROBBER_HPP
#define C__TEST01_HOUSEROBBER_HPP
#include <iostream>
#include <vector>
using namespace std;
class HouseRobber {
/* 有一排N栋房子(0 - N-1),房子i里有A[i]个金币
* 一个窃贼想选择一些房子偷金币
* 但是不能偷任何挨着的两家邻居,否则会被警察逮住
* 最多偷多少金币
* 例子:
* 输入:A = {3, 8, 4}
* 输出:8(只偷第二家的金币)
* */
public:
HouseRobber(vector<int> An);
int HouseRobberDP(vector<int> &A);
private:
vector<int> A;
};
HouseRobber::HouseRobber(vector<int> An):
A(An){
A.resize(An.size());
}
int HouseRobber::HouseRobberDP(vector<int> &A) {
if(A.empty()) {
return 0;
}
int N = A.size();
vector<int> f(N+1);
f[0] = 0;
for(int i = 1; i < N+1; ++i){
f[i] = f[i-1];
if(i > 1) {
f[i] = max(f[i - 2] + A[i - 1], f[i - 1]);
}
}
return f[N];
}
#endif //C__TEST01_HOUSEROBBER_HPP
HouseRobber的更多相关文章
- 【leetcode】198.HouseRobber
198.HouseRobber You are a professional robber planning to rob houses along a street. Each house has ...
- leetcode HouseRobber Dp Code
#include <malloc.h> int MAX(int x,int y){ return x>y?x:y;} int rob(int* nums, int numsSize) ...
- leetcode日记 HouseRobber I II
House Robber I You are a professional robber planning to rob houses along a street. Each house has a ...
- HouseRobber II
// // Created by Administrator on 2021/7/27. // #ifndef C__TEST01_HOUSEROBBER2_HPP #define C__TEST01 ...
- [LeetCode] House Robber 打家劫舍
You are a professional robber planning to rob houses along a street. Each house has a certain amount ...
- BUG-FREE-For Dream
一直直到bug-free.不能错任何一点. 思路不清晰:刷两天. 做错了,刷一天. 直到bug-free.高亮,标红. 185,OA(YAMAXUN)--- (1) findFirstDuplicat ...
- 7九章算法强化班全解--------Hadoop跃爷Spark
------------------------------------------------------------第七周:Follow up question 1,寻找峰值 寻找峰值 描述 笔记 ...
- leetcode bugfree note
463. Island Perimeterhttps://leetcode.com/problems/island-perimeter/就是逐一遍历所有的cell,用分离的cell总的的边数减去重叠的 ...
- LintCode 392 House Robber
// Ref: https://segmentfault.com/a/1190000003811581// Ref: http://www.cnblogs.com/grandyang/p/438363 ...
随机推荐
- QFNU-ACM 2021.10.09 Rating补题
A - A CodeForces - 478A 注意点: 和为0时要特判一下. 代码: #include<bits/stdc++.h> using namespace std; int m ...
- JVM详解(五)——运行时数据区-方法区
一.概述 1.介绍 <Java虚拟机规范>中明确说明:尽管所有的方法区在逻辑上属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩.但对于HotSpot JVM而言,方法 ...
- perl 不支持多条件比较
perl 不支持多条件比较,if(a < $var < b),这个条件表达式在C语言里面是支持的,但是在Perl中必须写成if(($var > a)&&($var & ...
- k8s 关于Job与Cronjob
在Kubernetes 中通过创建工作负载资源 Job 可完成大型计算以及一些批处理任务.比如 Job 转码文件.获取部分文件和目录,机器学习中的训练任务等.这篇小作文我们一起来了解 k8s 中关于 ...
- 第五课第四周笔记2:Self-Attention 自注意力
Self-Attention 自注意力 让我们跳进去谈谈transformer的self-attention机制.如果您能了解本视频背后的主要思想,您就会了解变压器网络工作背后最重要的核心思想. 让我 ...
- [对对子队]会议记录5.17(Scrum Meeting4)
今天已完成的工作 何瑞 工作内容:实现选择组件,搭建第7关 相关issue:实现选择组件 相关签入:feature:完成Lv7的UI搭建 吴昭邦 工作内容:实现选择组件,搭建第7关 ...
- poi实现生成下拉选联动
在我们实际的程序开发中,经常需要用到从excel导入数据中系统中,而为了防止用户在excel中乱输入文字,有些需要用到下拉选的地方,就需要从程序中动态生成模板.本例子简单的讲解一下,如何生成级联下拉选 ...
- Noip模拟57 2021.9.20
规律总结:联考必爆炸 T1 2A 没$A$掉的大水题,但是是真的不知道$000$前面的$00$也算先导$0$,以后要长记性,这种东西不能再错了 再打三遍: $000$前面的$00$也算先导$0$ $0 ...
- 热身训练2 The All-purpose Zero
The All-purpose Zero 简要题意: 长度为n的数组,每个数字为S[i],$0$是一种很神奇的数字,你想要的,它都可以变! 问这个序列的最长上升子序列长度为多少? 分析: 我们将除了 ...
- c++继承关系中成员函数的重载、重写、重定义之间的区别
1.Override.Overload.Redefine Overload 重载只能发生在类内部,不能发生在子类和父类的继承中.具体来说,如果子类中有父类同名.同返回值类型,但是不同参数列表,这两个在 ...