//
// 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的更多相关文章

  1. 【leetcode】198.HouseRobber

    198.HouseRobber You are a professional robber planning to rob houses along a street. Each house has ...

  2. leetcode HouseRobber Dp Code

    #include <malloc.h> int MAX(int x,int y){ return x>y?x:y;} int rob(int* nums, int numsSize) ...

  3. leetcode日记 HouseRobber I II

    House Robber I You are a professional robber planning to rob houses along a street. Each house has a ...

  4. HouseRobber II

    // // Created by Administrator on 2021/7/27. // #ifndef C__TEST01_HOUSEROBBER2_HPP #define C__TEST01 ...

  5. [LeetCode] House Robber 打家劫舍

    You are a professional robber planning to rob houses along a street. Each house has a certain amount ...

  6. BUG-FREE-For Dream

    一直直到bug-free.不能错任何一点. 思路不清晰:刷两天. 做错了,刷一天. 直到bug-free.高亮,标红. 185,OA(YAMAXUN)--- (1) findFirstDuplicat ...

  7. 7九章算法强化班全解--------Hadoop跃爷Spark

    ------------------------------------------------------------第七周:Follow up question 1,寻找峰值 寻找峰值 描述 笔记 ...

  8. leetcode bugfree note

    463. Island Perimeterhttps://leetcode.com/problems/island-perimeter/就是逐一遍历所有的cell,用分离的cell总的的边数减去重叠的 ...

  9. LintCode 392 House Robber

    // Ref: https://segmentfault.com/a/1190000003811581// Ref: http://www.cnblogs.com/grandyang/p/438363 ...

随机推荐

  1. Java初步学习——2021.10.05每日总结,第五周周三

    (1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学了对象与类,如何定义类和创建对象,以及构建方法的用法. 明天课比较多,把今天未学的例子敲一遍好了. 没有遇到什么问题.

  2. 【二食堂】Alpha - Scrum Meeting 7

    Scrum Meeting 7 例会时间:4.17 11:40 - 12:00 进度情况 组员 昨日进度 今日任务 李健 1. 继续文本区域的开发,先完成目前简陋的添加方式,再区实现勾选功能issue ...

  3. 微信小程序的实现原理

    一.背景 网页开发,渲染线程和脚本是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应的原因,本质就是我们常说的 JS 是单线程的 而在小程序中,选择了 Hybrid 的渲染方式,将视图层和逻 ...

  4. TVS管性能及选型总结

    https://wenku.baidu.com/view/5b5bda5526fff705cc170af8.html

  5. STM32单片机的学习方法(方法大体适用所有开发版入门)

    1,一款实用的开发板. 这个是实验的基础,有时候软件仿真通过了,在板上并不一定能跑起来,而且有个开发板在手,什么东西都可以直观的看到,效果不是仿真能比的.但开发板不宜多,多了的话连自己都不知道该学哪个 ...

  6. 单片机STM32学习笔记之寄存器映射详解

    我们知道,存储器本身没有地址,给存储器分配地址的过程叫存储器映射,那什么叫寄存器映射?寄存器到底是什么? 在存储器Block2 这块区域,设计的是片上外设,它们以四个字节为一个单元,共32bit,每一 ...

  7. 攻防世界 web2.robots

    输入ip/robots.txt,显示出了flag目录,直接访问.

  8. linked-list-cycle leetcode C++

    Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without using ex ...

  9. 绝世好题(DP)

    题目链接:绝世好题 暴力就不用说了,和lis神似,O(n2)妥妥的挂掉,但可以得大部分分(好像是90,80)... 考虑优化,来一发非正解的优化: #include<bits/stdc++.h& ...

  10. hdu 1709 The Balance(母函数)

    题意: 有一个天平.有N个砝码.重量分别是A1...AN. 问重量[1..S]中有多少种重量是无法利用这个天平和这些砝码称出来的. S是N个砝码的重量总和. 思路: 对于每一个砝码来说,有三种:不放, ...