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

JAVA练习52-打家劫舍

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、题目-打家劫舍

1.题目描述

2.思路与代码

2.1 思路

2.2 代码

总结


前言

提示:这里可以添加本文要记录的大概内容:

2月16日练习内容


提示:以下是本篇文章正文内容,下面案例可供参考

一、题目-打家劫舍

1.题目描述

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

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

示例 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 。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/house-robber
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2.思路与代码

2.1 思路

1.定义两个变量,res0表示第i+1家没有被偷可以获得的最大金额,res1表示第i+1家被偷了可以获得的最大金额

2.通过递归公式:Math.max(res0,res1)表示如果第i+1家没偷,那么第i家有没有偷都是可以的,我们取最大值即可;nums[i] + res0表示的是如果第i+1家偷了,那么第i家必须没偷,这里nums[i]表示的是第i+1家偷的金额。

3。递归遍历,得出res0与res1的结果

4.输出res0与res1中的最大值

2.2 代码

代码如下(示例):

class Solution {public int rob(int[] nums) {//数组长度int length = nums.length;//偷的钱int res0 = 0;       //第一家没偷int res1 = nums[0]; //第一家偷了for(int i = 1;i < length;i ++){//临时来选择当前价偷不偷//如果第一家偷了,那下一家不能偷//如果第一家没偷,那下一家可偷或者不偷int temp = Math.max(res0,res1);//下一家偷获得的金额res1 = res0 + nums[i];res0 = temp;}return Math.max(res0,res1);}
}


总结

提示:这里对文章进行总结:
 

相关文章:

JAVA练习52-打家劫舍

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、题目-打家劫舍 1.题目描述 2.思路与代码 2.1 思路 2.2 代码 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 2月16日练习内容 提…...

简单谈一谈幂等测试

1、什么是幂等测试 幂等是一个抽象的概念&#xff0c;在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同&#xff0c;即多次调用方法或者接口不会改变业务状态&#xff0c;可以保证重复调用的结果和单次调用的结果一致。幂等测试&#xff0c;则主…...

typescript复习笔记

数组类型-限定每一项的类型 //写法一 const arrNumber: number[] [1, 2, 3] const arrString: string[] [a, b, c] //写法二 const arrNumber2: Array<number> [1, 2, 3] const arrString2: Array<string> [a, b, c]联合类型 符号是 | //数组可以存放字符串或…...

webstorm开发electron,调试主进程方案

官网教程地址&#xff1a;https://www.electronjs.org/zh/docs/latest/tutorial/debugging-main-process 我只能说官网太看得起人了&#xff0c;整这么简易的教程…… 命令行开关 第一步还是要按要求在我们的package.json里加上端口监听&#xff1a;–inspect5858 我的命令…...

2W字正则表达式基础知识总结,这一篇就够了!!(含前端常用案例,建议收藏)

正则表达式 (Regular Expression&#xff0c;简称 RE 或 regexp ) 是一种文本模式&#xff0c;包括普通字符&#xff08;例如&#xff0c;a 到 z 之间的字母&#xff09;和特殊字符&#xff08;称为"元字符"&#xff09;正则表达式使用单个字符串来描述、匹配一系列匹…...

自学web前端觉得好难,可能你遇到了这些困境

好多人跟我说上学的时候也学过前端&#xff0c;毕业了想从事web前端开发的工作&#xff0c;但自学起来好难&#xff0c;快要放弃了&#xff0c;所以我总结了一些大家遇到的困境&#xff0c;希望对你会有所帮助。 目录 1. 意志是否坚定 2. 没有找到合适自己的老师 3. 为了找…...

ASEMI中低压MOS管18N20参数,18N20封装,18N20尺寸

编辑-Z ASEMI中低压MOS管18N20参数&#xff1a; 型号&#xff1a;18N20 漏极-源极电压&#xff08;VDS&#xff09;&#xff1a;200V 栅源电压&#xff08;VGS&#xff09;&#xff1a;30V 漏极电流&#xff08;ID&#xff09;&#xff1a;18A 功耗&#xff08;PD&#x…...

[NetBackup]客户端安装后server无法连通client

client name处填写客户端主机名&#xff0c;server to use for backups and restores处填写server端名字&#xff0c;与hosts文件内保持一致&#xff1b;source client for restores处填写client主机名&#xff0c;与server端hosts文件中保持一致&#xff0c;与主机实际名称保持…...

黑马Java后端项目实战--在线聊天交友

【课程简介】 越来越多的系统都有消息推送的功能&#xff0c;如聊天室、邮件推送、系统消息推送等&#xff1b; 要实现消息推送就需要服务端在数据有变化时主动推送消息给客户端&#xff0c;本次课程将带大家使用websocket实现消息推送。 【主讲内容】 1.方法&#xff1a;如…...

【实战系列 2】Yapi接口管理平台Getshell-Linux后门权限维持与痕迹清除

文章目录 前言一、网站主页到Getshell二、SSH软链接后门三、Linux权限维持 --隐藏踪迹3.1 隐藏远程SSH登陆记录3.2、ssh软链接后门连接失败的原因以及解决办法3.3、隐藏踪迹-痕迹清楚3.3.1、隐藏历史操作命令3.3.2、隐藏文件/文件夹3.3.3、修改文件时间戳3.3.4、隐藏权限3.3.5、…...

设计模式之抽象工厂模式(C++)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 一、抽象工厂模式是什么&#xff1f; 抽象工厂模式是一种创建型的软件设计模式&#xff0c;该模式相当于升级版的工厂模式。 如果…...

Kotlin新手教程一(Kotlin简介及环境搭建)

目录一、 什么是Kotlin&#xff1f;二、为什么要使用Kotlin&#xff1f;三、使用IntelliJ IDEA搭建Kotlin四、Kotlin使用命令行编译一、 什么是Kotlin&#xff1f; Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言&#xff0c;它也可以被编译成为 JavaScript 源代码&…...

【虚拟仿真】Unity3D打包WEBGL实现全屏切换

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 今天实现Unity3D打包WEBGL后实现按钮点击全屏和退出 全屏的实现…...

java对象内存结构分析与大小计算

java对象内存结构Java对象保存在堆中时&#xff0c;由三部分组成&#xff1a;对象头&#xff08;object header&#xff09;&#xff1a;包括了关于堆对象的布局、类型、GC状态、同步状态和标识哈希码的基本信息。所有java对象都有一个共同的对象头格实例数据&#xff08;Insta…...

RabbitMQ学习(七):交换器

〇、前言在之前的内容中&#xff0c;我们创建了一个工作队列。我们假设的是工作队列背后&#xff0c;每个任务都恰好交付给一个消 费者(工作进程)。在今天的内容中&#xff0c;我们将做一些完全不同的事情——我们将消息传达给多个消费者。这种模式 称为 “发布/订阅”。为了说…...

cmd命令大全

文章目录变量输入输出逻辑命令符控制语句函数注释变量 在批处理中&#xff0c;变量全部是弱类型的&#xff0c;通常可以当做字符串处理 1.初始化定义 set varthis a var 2.获取变量值 %var% 3.链接 set varcat%var1%%var2% 4.截取 %var:~n,m% n是起点&#xff0c;m是长度&…...

Git的使用方法(保姆级)

一、安装git二、创建凭据 ①打开电脑的凭据管理器git:https://gitee.com是固定写法用户名、密码是你创建gitee的用户名、密码三、在gitee中创建一个仓库四、项目提交到仓库的方法①选择一个项目交由git管理按照步骤一中召唤小黑窗口输入 git init 就可以出现.git文件夹②右键选…...

TypeScript 学习之泛型

泛型使用 组件不仅能够支持当前的数据类型&#xff0c;同时也能支持未来的数据类型。就需要使用泛型。使用泛型就不会丢失类型信息&#xff0c;使用any会丢失类型信息。 function identity<T>(arg: T): T {return arg; }identity 添加了类型变量T, T 捕获用户传入的类型…...

新手学习node.js基础,node.js安装过程,node.js运行环境及javascript运行环境.

学习node.js1.什么是node.js?2.node.js中的javaScript运行环境3.node.js可以做什么&#xff1f;4. node.js学习思路5.node.js环境的安装6.如何在node.js中执行JavaScript代码1.什么是node.js? node.js是一个基于Chrome v8 引擎的JavaScript运行环境(后端) node.js官网 &…...

Maven的安装步骤(保姆级安装教程)

一、安装本地Maven 选择你需要的maven版本下载&#xff1a;官网下载传送门 我使用的是3.6.1版本&#xff1a;maven-3.6.1-bin.zip 二、安装 把下载好的maven压缩包解压到一个没有中文&#xff0c;空格或其他特殊字符的文件夹&#xff0c;如&#xff1a; 三、配置环境变量…...

HunyuanVideo-Foley入门指南:infer.py命令行参数全量说明与组合技巧

HunyuanVideo-Foley入门指南&#xff1a;infer.py命令行参数全量说明与组合技巧 1. 环境准备与快速部署 HunyuanVideo-Foley是一款强大的视频与音效生成工具&#xff0c;基于RTX 4090D 24GB显存和CUDA 12.4深度优化。在开始使用前&#xff0c;请确保您的硬件配置满足以下要求…...

kali制作木马

黑客必备工具&#xff1a;Metasploit Framework&#xff08;MSF&#xff09;1. 生成木马程序&#xff1a; > msfvenom -p linux/x64/shell/reverse_tcp LHOST攻击机ip(Kali) LPORT9999 -f elf -o shell.elf2. 启动控制程序&#xff1a; > msfconsole > use exploit/mu…...

【开题答辩全过程】以 基于大数据的智能推送系统设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…...

PostgreSQL(OpenGauss/MogDB) 大小写转换实战:批量处理表名与字段名的自动化方案

1. 为什么PostgreSQL的大小写问题让人头疼&#xff1f; 第一次用PostgreSQL的时候&#xff0c;我就被它的大小写规则坑惨了。明明在Oracle里运行好好的SQL语句&#xff0c;搬到PostgreSQL就报"relation does not exist"错误。后来才发现&#xff0c;原来PostgreSQL对…...

告别CANFD高速丢帧!手把手教你配置STM32 FDCAN的收发器延时补偿(TDC)

攻克CANFD高速通信难题&#xff1a;STM32 FDCAN延时补偿实战指南 当CANFD的波特率飙升至10Mb/s时&#xff0c;许多工程师突然发现原本稳定的通信开始频繁丢帧——这往往不是代码逻辑问题&#xff0c;而是物理层信号延时在作祟。本文将带您深入STM32 FDCAN的Transceiver Delay C…...

BilibiliDown:突破B站视频下载限制的革新性工具

BilibiliDown&#xff1a;突破B站视频下载限制的革新性工具 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/bi/Bili…...

【国家级等保2.0工业网关合规缺口】:3步完成Python网关安全基线加固(含GB/T 22239-2024映射表)

第一章&#xff1a;工业Python网关安全基线合规总览工业Python网关作为OT与IT融合的关键枢纽&#xff0c;承担着协议转换、数据采集、边缘计算与远程控制等核心职能。其安全基线合规性直接关系到生产系统的可用性、完整性与保密性。依据IEC 62443-3-3、等保2.0三级及NIST SP 80…...

别再傻傻分不清!STM32定时器里Prescaler和ClockDivision到底谁管心跳谁管滤波?

STM32定时器双频分频机制深度解析&#xff1a;从心跳节拍到信号滤波 第一次接触STM32定时器配置时&#xff0c;看到Prescaler和ClockDivision这两个参数&#xff0c;很多开发者都会产生疑惑——它们看起来都是在做"分频"这件事&#xff0c;为什么需要两个参数&#x…...

PHY6252:解锁蓝牙5.2 SOC在物联网与可穿戴设备中的低功耗高性能设计

1. PHY6252&#xff1a;重新定义蓝牙5.2 SOC的边界 第一次拿到PHY6252开发板时&#xff0c;我习惯性地看了一眼电流表——13μA的睡眠模式功耗让我立刻意识到&#xff0c;这绝不是一款普通的蓝牙芯片。作为深耕物联网领域多年的开发者&#xff0c;我见过太多标榜"低功耗&q…...

30分钟快速搭建企业级工作流系统:RuoYi-Flowable-Plus完整指南

30分钟快速搭建企业级工作流系统&#xff1a;RuoYi-Flowable-Plus完整指南 【免费下载链接】RuoYi-Flowable-Plus 本项目基于 RuoYi-Vue-Plus 进行二次开发扩展Flowable工作流功能&#xff0c;支持在线表单设计和丰富的工作流程设计能力。如果觉得这个项目不错&#xff0c;麻烦…...