leetcode213强盗抢劫2
与第一次抢劫的题不一致的原因是这道题是环形抢劫
抢第一个就不能抢最后一个 动态转移方程没有改变
class Solution {public int rob(int[] nums) {if(nums==null||nums.length==0) return 0;if(nums.length==1) return 1;int n=nums.length;//第一个到倒数第二个截止 第二个到最后一个截止return Math.max(rob(nums,0,n-2),rob(nums,1,n-1));}private int rob(int[]nums,int first,int last){int pre1=0,pre2=0;for(int i=first;i<=last;i++){int cur=Math.max(nums[i]+pre2,pre1);pre2=pre1;pre1=cur;}return pre1;}
}
cur和 pre 交替记录,将空间复杂度降到 O(1) 时间复杂度O(n)
leetcode213强盗抢劫2相关推荐
- 动态规划强盗抢劫Java实现
题目:抢劫一排住户,但是不能抢邻近的住户,求最大抢劫量 思路:dp(n)代表抢劫到第n个住户的最大抢劫量,如果抢劫了第n-1个住户,就不能抢劫第n个住户,用arr数组代表一排用户 所以dp(n)=ma ...
- 动态规划(斐波那契系列)---强盗抢劫
强盗抢劫 198. House Robber (Easy) 题目描述: 抢劫一排住户,但是不能抢邻近的住户,求最大抢劫量. 思路分析: 定义dp数组用来存储最大抢劫量,其中dp[i]表示抢到第 ...
- 动态规划解强盗抢劫房间问题
题目: 强盗抢劫一排房间(房间数大于3),每个房间都有钱,不能抢劫两个相邻的房间,要求抢的钱最多.每个房间的钱数用数组表示.数组如:[2,7,9,3,1] 解: 对每个元素进行判断,并存储当前元素下最 ...
- leetcode-198强盗抢劫(动态规划)
题目:你是一个专业的强盗,计划在街上抢劫房屋. 每个房子都藏着一定数量的钱,阻止你抢劫他们的唯一限制因素是相邻的房屋有连接的安全系统,如果两个相邻的房子在同一个晚上被闯入,它将自动联系警方.给出一个代 ...
- leetcode198强盗抢劫
题目: 思路: 由于不能抢劫邻近住户,如果抢劫了第 i -1 个住户,那么就不能再抢劫第 i 个住户,动态方程为: 代码: class Solution {public int rob(int[] n ...
- dp House Robber 强盗抢劫
题目大意 你要去一条街上偷钱,每一户人家都有一定量的钱,但是你不能偷相邻两家的,因为相邻的两家有安保系统相连,偷了你就被警察叔叔带走了(什么鬼安保系统= =). 给定一个非负数组,代表每家有多少钱.求 ...
- Java多线程 | 详解ThreadLocal实现原理
一.ThreadLocal的简介: 一般情况下,我们创建的变量都是可以给任何线程访问并修改的,如果我们想让线程拥有自己的私有本地变量,那我们就可以使用ThreadLocal类是实现这样的想法. Thr ...
- 强盗问题动态规划详解
强盗抢劫一排房间(房间数大于3),每个房间都有钱,不能抢劫两个相邻的房间,要求抢的钱最多.每个房间的钱数用数组表示.数组如:[2,7,9,3,1] 详解: 我们简单分析情况. 1.当只有一间房子的时候 ...
- 多变量线性优化_使用线性上下文强盗进行多变量Web优化
多变量线性优化 Expedia Group Technology -数据 (EXPEDIA GROUP TECHNOLOGY - DATA) Or how you can run full webpa ...
最新文章
- MindInsight计算图可视设计
- java操作dom节点的添加_java操作DOM节点的添加,删除,修改
- php 扩展的so文件位置
- github:已经提交并push后再次追加提交
- JAVA 编写程序实现如下功能:一个线程进行如下运算1*2+2*3+3*4+……+19*20,而另一个线程则每隔一段时间读取前一个线程的运算结果。
- 【Java线程】线程同步—synchronized Lock
- 经典的java程序_Java经典程序
- maven 项目上传私服pom配置
- xhr返回值_XMLHttpRequest发送POST、GET请求以及接收返回值
- 随想录(386cpu保护模式)
- 01-老马jQuery教程-jQuery入口函数及选择器
- 【图像去噪】基于matlab中值+均值+高斯+Laplacian+Sobel+Prewitt图像去噪【含Matlab源码 025期】
- pandas.DataFrame及xgboost代码示例
- likeshop单商户SAAS商城系统无限多开
- 周鸿祎说:编程能力比马化腾强,不如雷军。你怎么看?
- 给初学者:用VB写外挂 ———— 实战三:泰坦之旅V1.08 十项属性修改器——另一种无输入焦点时响应按键的方法
- python3爬虫有道翻译_【Python3爬虫】有道翻译
- Can not set java.util.Date field *** to java.time.LocalDateTime解决办法
- 求不规则图形外接圆的算法 (附:三角形外接圆计算公式)
- 用nodejs写一个yys挂机脚本