LeetCode 213. House Robber II(小偷游戏)
原题网址:https://leetcode.com/problems/house-robber-ii/
Note: This is an extension of House Robber.
After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too much attention. This time, all houses at this place are arranged in a circle. That means the first house is the neighbor of the last one. Meanwhile, the security system for these houses remain the same as for those in the previous street.
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.
方法:动态规划,根据是否从第一个房子开始,分开两种情况计算。
public class Solution {public int rob(int[] nums) {if (nums == null || nums.length == 0) return 0;if (nums.length == 1) return nums[0];if (nums.length == 2) return Math.max(nums[0], nums[1]);int max = 0;int[] money = new int[nums.length];money[0] = nums[0];money[1] = Math.max(nums[0], nums[1]);for(int i=2; i<nums.length-1; i++) {money[i] = Math.max(money[i-2] + nums[i], money[i-1]);}max = Math.max(max, money[nums.length-2]);Arrays.fill(money, 0);money[1] = nums[1];money[2] = Math.max(nums[1], nums[2]);for(int i=3; i<nums.length; i++) {money[i] = Math.max(money[i-2] + nums[i], money[i-1]);}max = Math.max(max, money[nums.length-1]);return max;}
}
LeetCode 213. House Robber II(小偷游戏)相关推荐
- LeetCode 213 House Robber II Python
题意:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的 ...
- [leetcode] 213. House Robber II 解题报告
题目链接:https://leetcode.com/problems/house-robber-ii/ Note: This is an extension of House Robber. Afte ...
- leetcode 213. House Robber II | 213. 打家劫舍 II(Java)
题目 https://leetcode.com/problems/house-robber-ii/ 题解 这道题是「198. 打家劫舍」的进阶,和第 198 题的不同之处是,这道题中的房屋是首尾相连的 ...
- 213. House Robber II
一.题目 1.审题 2.分析 一个连续的数组,你能获取不连续的元素值代表的财富,数组首尾的两个元素算作连续,求能获得的最大财富值. 二.解答 1.思路: 在 198. House Robber 的基础 ...
- 213. House Robber II 首尾相同的偷窃问题
[抄题]: You are a professional robber planning to rob houses along a street. Each house has a certain ...
- 【Leetcode】213. 打家劫舍II(House Robber II)
Leetcode - 213 House Robber II (Medium) 题目描述:一个小偷沿着一条环形的街偷窃,给定数组表示每家屋子的金额,如果偷窃连续的两间屋子就会触发警报,求在不触发警报的 ...
- leetcode 337. House Robber III | 337. 打家劫舍 III(树形dp;什么情况下dp需要强制包含当前元素?)
题目 https://leetcode.com/problems/house-robber-iii/ 思考:什么情况下 dp 需要强制包含当前元素? dp 过程中,需要包含当前元素 的例子: leet ...
- LeetCode 198, 213 House Robber
198 House Robber DP 0~n-1 ans=dp[n-1] dp[i] = max(dp[i-2]+nums[i], dp[i-1]) i>=2 如果要输出偷了那些房子 ...
- [dp]leetcode 198. House Robber
输入:一个数组nums,每一个元素nums[i]表示第i个房间的价值. 输出:一个抢劫犯能抢到又不会被警察发现的最大价值. 规则:如果抢劫犯抢了相邻房间,那么报警装置就会触发,警察会得到通知. 分析: ...
最新文章
- 一种清除windows通知区域“僵尸”图标的方案——Windows7系统解决方案
- 据说,这是生物科研狗的真实经历……
- python实现卡方(Chi-Squared Test)相关性检验
- Symbian的内存管理机制
- jenkins不能启用端口_基于K8s的Jenkins持续集成实战(上)
- 推荐一个短小精干的JavaScript对话框
- [精品]CSAPP Bomb Lab 解题报告(四)
- 去除桌面图标的小箭头
- java 读取jar包中的文件
- 位域(Bit-fields)分析
- ssm中web配置各框架的配置文件路径方式
- CodeJock 实现MFC换肤
- 谁能告诉我,这个所谓的CSDN下载码下载码有什么用?没用?!
- [c++] WINAPI
- 服务器托管如何选择双线三线的idc服务商
- Linux C语言编译警告:control reaches end of non-void function
- CTGU实验6_1-创建能否借书存储过程
- mvp的全称_库里常规赛mvp是哪一年,分别于2014-15和2015-16赛季荣膺
- 观景台售票情况数据分析【Python】
- web前端期末大作业:基于HTML+CSS+JavaScript奥迪企业bootstrap响应式网站
热门文章
- c语言游戏菜单栏界面设计,俄罗斯方块——菜单和游戏界面.cpp
- 蓝奏云(Lanzou网盘下载链接无法打开的解决方法
- html5 qq看点,AlloyTouch实战--60行代码搞定QQ看点资料卡
- 什么是数据标注? 数据标注公司主要做什么?
- 核磁谱图分析步骤_核磁一般氢谱和碳谱的解析步骤
- android qmui教程,QMUI-Android
- 《与大象共舞》读书笔记
- win10驱动开发19——IRP同步
- 如何在业务开发中实现自我成长
- 奇瑞汽车用鸿蒙,奇瑞正式确认:将搭载“华为鸿蒙车机系统”,鸿蒙系统真的要来了...