博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
198. House Robber(强盗抢劫)(LeetCode)
阅读量:6360 次
发布时间:2019-06-23

本文共 1098 字,大约阅读时间需要 3 分钟。

You 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.

Example 1:

Input: [1,2,3,1]Output: 4Explanation: Rob house 1 (money = 1) and then rob house 3 (money = 3).             Total amount you can rob = 1 + 3 = 4.

Example 2:

Input: [2,7,9,3,1]Output: 12Explanation: Rob house 1 (money = 2), rob house 3 (money = 9) and rob house 5 (money = 1).             Total amount you can rob = 2 + 9 + 1 = 12.

题目描述:抢劫一排住户,但是不能抢邻近的住户,求最大抢劫量。

定义 dp 数组用来存储最大的抢劫量,其中 dp[i] 表示抢到第 i 个住户时的最大抢劫量

自己第一想法:这个想法没有完全理解题意,没有考虑到 2,1,1,2这种有两个间隔的情况。

方法一:动态规划

动态规划的特点是:保留了子问题的解。

由于不能抢劫邻近住户,如果抢劫了第 i -1 个住户,那么就不能再抢劫第 i 个住户,所以

 

 

转载于:https://www.cnblogs.com/shaer/p/10518459.html

你可能感兴趣的文章
《基于ArcGIS的Python编程秘笈(第2版)》——2.5 限制图层列表
查看>>
GNOME 地图 3.20 加入更多新特性 可用性得到加强
查看>>
《代码整洁之道:程序员的职业素养》导读
查看>>
《计算复杂性:现代方法》——习题
查看>>
Mozilla 释出更新修复中间人攻击漏洞
查看>>
《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <一>
查看>>
Spring声明式事务管理之二:核心接口API
查看>>
LNMP环境安装(二)
查看>>
MFC对话框编程-图片控件
查看>>
nodejs启动webserver服务
查看>>
小偷被抓叫嚣:我不偷警察没饭吃
查看>>
python初学—-实现excel里面读数据进行排序
查看>>
用户体验升级后 “谁行谁上”让百度Q4财报更有底气
查看>>
直播相关学习链接
查看>>
使用RPM包工具和源码包编译安装Linux应用程序
查看>>
VoIP——开启免费通话新时代的先锋
查看>>
Linux下rsync的用法
查看>>
apache虚拟主机、日志轮询、日志统计、去版本优化
查看>>
java代码实现开启openoffice服务和关闭sffice.exe进程
查看>>
docker镜像的使用方法
查看>>