当前位置: 首页 > news >正文

leetcode198 打家劫舍

思路

有点像走楼梯,只是考虑相邻,也就是说你打算偷a[i],那你就不能偷a[i-1]的,然后可以递归的想。
如果money[i]表示第i个房间的钱,sum[i]表示此时在第i个房间一共偷到的最多的钱
错误公式
sum[i] = sum[i-1] + money[i]; 就是隔着偷

最后只需要计算最后两个就可以了
1 2 3 4 计算 (1+3 =4 )<( 2+4 =6)
但是也可以偷第1家(1)第4家(4)=5 啊,这个也是满足条件的
比如这个例子:
100 7 2 9 5 最大值是 100+9 =109
即 sum[i] = sum[i-2] +money[i];
那还会不会隔更多呢,不会的

比如 1 2 3 4 5 可以计算5 + 1, 但是5+1 一定不会是最大。因为你可以5+3+1,即 你在计算sum[3]的时候已经计算了1+3

正确公式
sum[i] = max(sum[i-1], sum[i-2])

代码

 public int rob(int[] nums) {if (nums.length == 1){return nums[0];}if (nums.length == 2) {return Math.max(nums[0], nums[1]);}int[] a = new int[3];//为了节省空间a[0] = nums[0];a[1] = nums[1];a[2] = nums[2]+nums[0];int cnt = 0;for (int i = 3; i< nums.length;i++){cnt = Math.max(a[0],a[1])+ nums[i];a[0] = a[1];a[1] = a[2];a[2] = cnt; }return Math.max(a[1],a[2]);
}

相关文章:

  • VBA实现关闭Excel自动计算,关闭屏幕刷新
  • 我的创作纪念日(1825天)
  • OrangePi AIpro小试牛刀-目标检测(YoloV5s)
  • docker 容器 network host 模式启动
  • 揭开 Docker 容器的神秘面纱:深入理解容器原理
  • vue3+ele-plus+sortableJs对el-table使用sortableJs插件对表格拖拽时限定某列或某行不允许拖拽
  • 八股操作系统和计算机网络
  • van-list 遇到的问题
  • JavaScript 深拷贝和浅拷贝的实现、使用场景和存在的问题
  • 国产MCU芯片(2):东软MCU概览
  • 股指期货功能
  • Noisee AI – AI音乐影片MV在线生成工具,专门为Suno的好搭子来了~
  • 力扣 SQL题目
  • Memcached:内存缓存的强大引擎及其深度解析
  • java.nio.charset.UnmappableCharacterException
  • Angular6错误 Service: No provider for Renderer2
  • Centos6.8 使用rpm安装mysql5.7
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • ES2017异步函数现已正式可用
  • JavaScript设计模式之工厂模式
  • log4j2输出到kafka
  • Netty 4.1 源代码学习:线程模型
  • Sublime text 3 3103 注册码
  • vue:响应原理
  • Web Storage相关
  • windows下使用nginx调试简介
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 记一次和乔布斯合作最难忘的经历
  • 前端技术周刊 2019-02-11 Serverless
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 通信类
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 我们雇佣了一只大猴子...
  • 昨天1024程序员节,我故意写了个死循环~
  • ​人工智能书单(数学基础篇)
  • #if #elif #endif
  • #if 1...#endif
  • #传输# #传输数据判断#
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (四)Controller接口控制器详解(三)
  • (转) Face-Resources
  • ****三次握手和四次挥手
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .Net 应用中使用dot trace进行性能诊断
  • .Net中的设计模式——Factory Method模式
  • /bin/bash^M: bad interpreter: No such file or directory
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • @RestController注解的使用
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [20160902]rm -rf的惨案.txt