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

leetcode 089 打家劫舍

leetcode 089 打家劫舍

题目

一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响小偷偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警

给定一个代表每个房屋存放金额的非负整数数组 nums ,请计算 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。

代码

function rob(nums: number[]): number {const dp = new Array(nums.length).fill(0);for (let i = nums.length - 1; i >= 0; i--) {let result = 0;if ((dp[i + 2] || 0) + nums[i] > (dp[i + 1] || 0)) {result += (dp[i + 2] || 0) + nums[i];} else {result += (nums[i + 1] || 0);}dp[i] = result}return dp[0]
}console.log(rob([0]))

解题思路

image-20240820210926171

根据上图我们可以得出计算公式

(当前位置 + 2)+ 当前位置的数量 > (当前位置+1)的数量 ? (当前位置 + 2)+ 当前位置的数量 : 当前位置+1)的数量

!!! 注意:需要考虑一下边界+2或者+1的时候,有可能超出了原数组的长度。然后直接计算就会得到一个nan

最后附上提交记录

截屏2024-08-20 21.14.18

http://www.lryc.cn/news/428836.html

相关文章:

  • 等保测评基础知识(六)
  • 作业帮 TiDB 7.5.x 使用经验
  • c语言练习题1
  • 嵌入式开发就业方向有哪些?前景未来可期!
  • 系列:水果甜度个人手持设备检测-github等开源库和方案
  • Visual Studio中 生成版本号
  • AI入门指南(四):分类问题、回归问题、监督、半监督、无监督学习是什么?
  • Linux下本地端口转发
  • RPC 和 HTTP 理解
  • Visual Studio 2022 v17.11 发布
  • 通讯专题-RS232
  • 桥接模式详解
  • 使用一致性哈希解决哈希分片负载均衡的扩展性问题
  • 探索 Resolume Arena 7 - 引领 VJ 音视频创作的卓越软件
  • 三勾点餐系统|支持多端发布,方便二次开发
  • 深入理解AES加密算法:原理与Python实现
  • Redis中List数据类型常用命令
  • 借助Aapose.Cells 使用 C# 在 Excel 中读取、添加和编辑线程注释
  • 关于c++ grpc 和 c# grpc 通信的问题 以及 grpc 认证问题
  • C++进阶(14)类型转换、IO流
  • 配置oss cdn加速静态资源访问 阿里云
  • 实现 前端框架 SPA 路由功能:Hash 模式与 History 模式的手动实现
  • 去中心化的新时代:Web3技术的全球影响
  • 初始redis:List
  • Java | Leetcode Java题解之第355题设计推特
  • MVC与三层架构分层
  • Go语言基础--switch
  • 【数字ic自整资料】AXI握手协议及outstanding
  • C++ //练习 18.13 什么时候应该使用未命名的命名空间?
  • yum小bug