原题网址: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(小偷游戏)相关推荐

  1. LeetCode 213 House Robber II Python

    题意:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的 ...

  2. [leetcode] 213. House Robber II 解题报告

    题目链接:https://leetcode.com/problems/house-robber-ii/ Note: This is an extension of House Robber. Afte ...

  3. leetcode 213. House Robber II | 213. 打家劫舍 II(Java)

    题目 https://leetcode.com/problems/house-robber-ii/ 题解 这道题是「198. 打家劫舍」的进阶,和第 198 题的不同之处是,这道题中的房屋是首尾相连的 ...

  4. 213. House Robber II

    一.题目 1.审题 2.分析 一个连续的数组,你能获取不连续的元素值代表的财富,数组首尾的两个元素算作连续,求能获得的最大财富值. 二.解答 1.思路: 在 198. House Robber 的基础 ...

  5. 213. House Robber II 首尾相同的偷窃问题

    [抄题]: You are a professional robber planning to rob houses along a street. Each house has a certain ...

  6. 【Leetcode】213. 打家劫舍II(House Robber II)

    Leetcode - 213 House Robber II (Medium) 题目描述:一个小偷沿着一条环形的街偷窃,给定数组表示每家屋子的金额,如果偷窃连续的两间屋子就会触发警报,求在不触发警报的 ...

  7. leetcode 337. House Robber III | 337. 打家劫舍 III(树形dp;什么情况下dp需要强制包含当前元素?)

    题目 https://leetcode.com/problems/house-robber-iii/ 思考:什么情况下 dp 需要强制包含当前元素? dp 过程中,需要包含当前元素 的例子: leet ...

  8. 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 如果要输出偷了那些房子 ...

  9. [dp]leetcode 198. House Robber

    输入:一个数组nums,每一个元素nums[i]表示第i个房间的价值. 输出:一个抢劫犯能抢到又不会被警察发现的最大价值. 规则:如果抢劫犯抢了相邻房间,那么报警装置就会触发,警察会得到通知. 分析: ...

最新文章

  1. 一种清除windows通知区域“僵尸”图标的方案——Windows7系统解决方案
  2. 据说,这是生物科研狗的真实经历……
  3. python实现卡方(Chi-Squared Test)相关性检验
  4. Symbian的内存管理机制
  5. jenkins不能启用端口_基于K8s的Jenkins持续集成实战(上)
  6. 推荐一个短小精干的JavaScript对话框
  7. [精品]CSAPP Bomb Lab 解题报告(四)
  8. 去除桌面图标的小箭头
  9. java 读取jar包中的文件
  10. 位域(Bit-fields)分析
  11. ssm中web配置各框架的配置文件路径方式
  12. CodeJock 实现MFC换肤
  13. 谁能告诉我,这个所谓的CSDN下载码下载码有什么用?没用?!
  14. [c++] WINAPI
  15. 服务器托管如何选择双线三线的idc服务商
  16. Linux C语言编译警告:control reaches end of non-void function
  17. CTGU实验6_1-创建能否借书存储过程
  18. mvp的全称_库里常规赛mvp是哪一年,分别于2014-15和2015-16赛季荣膺
  19. 观景台售票情况数据分析【Python】
  20. web前端期末大作业:基于HTML+CSS+JavaScript奥迪企业bootstrap响应式网站

热门文章

  1. c语言游戏菜单栏界面设计,俄罗斯方块——菜单和游戏界面.cpp
  2. 蓝奏云(Lanzou网盘下载链接无法打开的解决方法
  3. html5 qq看点,AlloyTouch实战--60行代码搞定QQ看点资料卡
  4. 什么是数据标注? 数据标注公司主要做什么?
  5. 核磁谱图分析步骤_核磁一般氢谱和碳谱的解析步骤
  6. android qmui教程,QMUI-Android
  7. 《与大象共舞》读书笔记
  8. win10驱动开发19——IRP同步
  9. 如何在业务开发中实现自我成长
  10. 奇瑞汽车用鸿蒙,奇瑞正式确认:将搭载“华为鸿蒙车机系统”,鸿蒙系统真的要来了...