Java实现 LeetCode 198 打家劫舍
2023-09-14 08:58:06 时间
198. 打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。
示例 1:
输入: [1,2,3,1]
输出: 4
解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。
偷窃到的最高金额 = 1 + 3 = 4 。
示例 2:
输入: [2,7,9,3,1]
输出: 12
解释: 偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。
偷窃到的最高金额 = 2 + 9 + 1 = 12 。
class Solution {
public int rob(int[] nums) {
int n = nums.length;
if (n <= 1) return n == 0 ? 0 : nums[0];
int[] memo = new int[n];
memo[0] = nums[0];
memo[1] = Math.max(nums[0], nums[1]);
for (int i = 2; i < n; i++)
memo[i] = Math.max(memo[i - 1], nums[i] + memo[i - 2]);
return memo[n - 1];
}
}
相关文章
- java long string 转换_Java long 转成 String的实现[通俗易懂]
- protostuff java_Protostuff一键序列化工具、Protobuf JAVA实现
- java和基岩版区别_我的世界基岩版与Java版有什么区别?「建议收藏」
- md5 java 实现_MD5加密的Java实现
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java 阶乘算法_Java 实现阶乘算法
- java无法获取服务器上路径,JAVA获取服务器路径的步骤
- java生成license_使用truelicense实现用于JAVA工程license机制(包括license生成和验证)…
- java笛卡尔积算法_Java 笛卡尔积算法的简单实现
- 【Java】jar启动的java程序报错FileNotFoundException
- java事务_Java 事务详解[通俗易懂]
- java事务的使用_Java跨库事务
- java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…
- java 检测 Java 是否运行在64bit 的JVM上详解编程语言
- Linux下配置Java环境变量的简易指南(linux配置java环境变量)
- Java监控MySQL性能:实现数据库运行优化(java监控mysql)
- 数据库实现Java程序与Oracle数据库的连接(java链接oracle)
- Java实现Redis分布式锁(java实现redis锁)
- Java实现Redis事务管理(redis事务java)
- 实现Java实现Redis集合的技术研究(redis集合java)
- Linux 升级Java:新版本带来的变化(linux升级java)
- Java面试中的Redis题目剖析(java面试题redis)
- Java实现MySQL数据插入(java插入mysql)
- Java与MySQL的无缝衔接:实现高效数据操作(java中使用mysql)
- Linux与Java结合:开启全新的编程之旅(linux java())
- 收购Oracle收购Java重新定义软件开发未来(java被oracle)
- Oracle与Java程序融合谱写成功曲(java程序Oracle)