【算法训练 day50 打家劫舍、打家劫舍Ⅱ、打家劫舍Ⅲ】
目录
- 一、打家劫舍-LeetCode 198
- 思路
- 二、打家劫舍Ⅱ-LeetCode 213
- 思路
- 三.打家劫舍Ⅲ-LeeCode 337
- 思路
一、打家劫舍-LeetCode 198
Leecode链接: leetcode 198
思路
dp数组含义为:当前数组范围下能偷到的最多的钱。递推公式为:dp[j] = max(dp[j-2]+nums[j],dp[j-1]),初始化dp[0] = nums[0],初始化dp[1] = nums[1]。
二、打家劫舍Ⅱ-LeetCode 213
Leecode链接: LeetCode 213
思路
与上一题类似,但需要针对不同情况进行区分,可将数组分为不带首位元素带末尾元素的、带首位元素不带末尾元素,然后将这两种情况的值都求出来进行对比大小并取最大值。其余则与上一题完全一致。
三.打家劫舍Ⅲ-LeeCode 337
Leecode链接: LeetCode 337
思路
这道题有点不一样,但基本思路一致。不一样在于每次取得值不能是父子节点了,所以需要使用后序遍历,这样就能保证只用考虑本层递归的节点是否需要取。dp数组只用存储两个元素,即该层元素取得话最大值是多少,不取的话最大值是多少。并将该结果返回上一层递归,然后上一层递归再记录不同情况的值。
相关文章:
【算法训练 day50 打家劫舍、打家劫舍Ⅱ、打家劫舍Ⅲ】
目录 一、打家劫舍-LeetCode 198思路 二、打家劫舍Ⅱ-LeetCode 213思路 三.打家劫舍Ⅲ-LeeCode 337思路 一、打家劫舍-LeetCode 198 Leecode链接: leetcode 198 思路 dp数组含义为:当前数组范围下能偷到的最多的钱。递推公式为:dp[j] max(dp[j-2]nums[j],dp[j-1…...
YOLOv8改进 | 卷积模块 | 在主干网络中添加/替换蛇形卷积Dynamic Snake Convolution
💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 蛇形动态卷积是一种新型的卷积操作,旨在提高对细长和弯曲的管状结构的特征提取能力。它通过自适应地调整卷积核的权重࿰…...
深入解析力扣183题:从不订购的客户(LEFT JOIN与子查询方法详解)
关注微信公众号 数据分析螺丝钉 免费领取价值万元的python/java/商业分析/数据结构与算法学习资料 在本篇文章中,我们将详细解读力扣第183题“从不订购的客户”。通过学习本篇文章,读者将掌握如何使用SQL语句来解决这一问题,并了解相关的复杂…...
牛客NC32 求平方根【简单 二分 Java/Go/C++】
题目 题目链接: https://www.nowcoder.com/practice/09fbfb16140b40499951f55113f2166c 思路 Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** para…...
王道408数据结构CH3_栈、队列
概述 3.栈、队列和数组 3.1 栈 3.1.1 基本操作 3.1.2 顺序栈 #define Maxsize 50typedef struct{ElemType data[Maxsize];int top; }SqStack;3.1.3 链式栈 typedef struct LinkNode{ElemType data;struct LinkNode *next; }*LiStack;3.2 队列 3.2.1 基本操作 3.2.2 顺序存储…...
Angular 由一个bug说起之六:字体预加载
浏览器在加载一个页面时,会解析网页中的html和css,并开始加载字体文件。字体文件可以通过css中的font-face规则指定,并使用url()函数指定字体文件的路径。 比如下面这样: css font-face {font-family: MyFont;src: url(path/to/font.woff2…...
并查集进阶版
过关代码如下 #define _CRT_SECURE_NO_WARNINGS #include<bits/stdc.h> #include<unordered_set> using namespace std;int n, m; vector<int> edg[400005]; int a[400005], be[400005]; // a的作用就是存放要摧毁 int k; int fa[400005]; int daan[400005]…...
贪心(不相交的开区间、区间选点、带前导的拼接最小数问题)
目录 1.简单贪心 2.区间贪心 不相交的开区间 1.如何删除? 2.如何比较大小 区间选点问题 3.拼接最小数 1.简单贪心 比如:给你一堆数,你来构成最大的几位数 2.区间贪心 不相交的开区间 思路: 首先,如果有两个…...
[力扣题解] 617. 合并二叉树
题目:617. 合并二叉树 思路 递归法遍历,随便一种遍历方式都可以,以前序遍历为例; 代码 class Solution { public:TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {if(root1 NULL){return root2;}if(root2 NULL){r…...
kafka-消费者组(SpringBoot整合Kafka)
文章目录 1、消费者组1.1、使用 efak 创建 主题 my_topic1 并建立6个分区并给每个分区建立3个副本1.2、创建生产者发送消息1.3、application.yml配置1.4、创建消费者监听器1.5、创建SpringBoot启动类1.6、屏蔽 kafka debug 日志 logback.xml1.7、引入spring-kafka依赖1.8、消费…...
Redisson知识
使用Redission获取锁 RLock lock redisson.getLock("my-lock"); 一、Redisson使用不指定锁过期时间的方式加锁: lock.lock(); 特点: 1.使用Redisson加的锁,具有自动续期机制,如果业务运行时间较长,运行…...
0103__【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
【C/C 单线程性能分析工具 Gprof】 GNU的C/C 性能分析工具 Gprof 使用全面指南-CSDN博客...
如何把几个pdf文件合成在一个pdf文件
PDF合并,作为一种常见的文件处理方式,无论是在学术研究、工作汇报还是日常生活中,都有着广泛的应用。本文将详细介绍PDF合并的多种方法,帮助读者轻松掌握这一技能。 打开 “轻云处理pdf官网” 的网站,然后上传pdf。 pd…...
Stream与MLC测试CPU内存DDR5的原理与方法详解
在高性能计算和服务器领域,内存性能是决定整体系统性能的关键因素之一,特别是随着DDR5内存的普及,其更高的带宽和更低的延迟特性使得内存性能测试变得更加重要。本文将详细介绍使用Stream和MLC两种工具对CPU内存DDR5进行性能测试的原理和实施…...
linux业务代码性能优化点
planning优化的一些改动----------> 减少值传递,多用引用来传递 <---------- // ----------> 减少值传递,多用引用来传递 <---------- // 例1: class A{}; std::vector<A> v; // for(auto elem : v) {} // 不建议ÿ…...
Shell脚本学习_字符串变量
目录 1.Shell字符串变量:格式介绍 2.Shell字符串变量:拼接 3.Shell字符串变量:字符串截取 4.Shell索引数组变量:定义-获取-拼接-删除 1.Shell字符串变量:格式介绍 1、目标: 能够使用字符串的三种方式 …...
spring-kafka-生产者服务搭建测试(SpringBoot整合Kafka)
文章目录 1、生产者服务搭建1.1、引入spring-kafka依赖1.2、application.yml配置----v1版1.3、使用Java代码创建主题分区副本1.4、发送消息 1、生产者服务搭建 1.1、引入spring-kafka依赖 <?xml version"1.0" encoding"UTF-8"?> <project xml…...
JVM学习-内存泄漏
内存泄漏的理解和分类 可达性分析算法来判断对象是否是不再使用的对象,本质都是判断一上对象是否还被引用,对于这种情况下,由于代码的实现不同就会出现很多内存泄漏问题(让JVM误以为此对象还在引用,无法回收,造成内存泄…...
Go微服务: 分布式之通过本地消息实现最终一致性和最大努力通知方案
通过本地消息实现最终一致性 1 )概述 我们的业务场景是可以允许我们一段时间有不一致的消息的状态的,并没有说必须特别高的这个消息的一致性比如说在TCC这个架构中,如果采用了消息的最终一致性,整体架构设计要轻松好多即便我们库…...
BC C language
题目汇总 No.1 打印有规律的字符(牛牛的字符菱形) 代码展示 #include<stdio.h> int main() {char ch0;scanf("%c",&ch);for(int i0;i<5;i){for(int j0;j<5;j){if((i0||i4)&&j2)printf("%c", ch);else if ((i 1||i3) &&…...
用华为ENSP模拟器复现智慧小区网络:从VLAN划分到三层架构的保姆级配置教程
华为ENSP模拟器实战:智慧小区网络从零搭建全流程指南 当你第一次拿到智慧小区网络设计方案时,那些抽象的拓扑图和配置参数是否让你望而生畏?作为网络工程师成长路上的必经之路,企业级网络搭建从来不是纸上谈兵的游戏。本文将带你用…...
告别黑盒调试:为VS2022和Halcon HImage定制一个带暗色主题的视觉化调试器
为VS2022和Halcon HImage打造沉浸式暗色调试器:从UI优化到高效开发实践 在计算机视觉开发领域,Halcon凭借其强大的图像处理能力成为工业检测、医疗影像等场景的首选工具。然而,长时间面对传统调试界面容易导致视觉疲劳,影响开发效…...
一文搞懂Agent三大核心技术:Function Calling、MCP、A2A,小白也能轻松收藏学习!
本文详细解析了AI Agent的三大核心技术:Function Calling、MCP和A2A。Function Calling使AI能够主动获取外部信息,MCP为工具接入提供了标准化接口,而A2A则实现了多智能体之间的协作。通过这三个技术的演进,AI Agent的能力从点对点…...
PP实战指南:ECN工程变更在物料计划中的关键应用与系统操作解析
1. ECN工程变更的核心价值与业务场景 第一次接触ECN(Engineering Change Notice)是在2015年负责汽车零部件项目时,当时产线因为一个螺丝规格变更导致全线停产8小时。这个惨痛教训让我深刻理解到,工程变更绝不是简单的技术文档更新…...
云服务器购买怎么选?2026云服务器优惠与租赁指南
在AI创作、3D渲染、远程办公快速发展的今天,「云服务器购买」「云服务器租赁」已经成为越来越多个人和企业的刚需。但面对复杂的配置和价格体系,很多人都会问:👉 到底怎么选最划算? 👉 有没有长期稳定又有“…...
如何用Marker实现PDF到Markdown的精准转换?三个技巧提升文档处理效率
如何用Marker实现PDF到Markdown的精准转换?三个技巧提升文档处理效率 【免费下载链接】marker 一个高效、准确的工具,能够将 PDF 和图像快速转换为 Markdown、JSON 和 HTML 格式,支持多语言和复杂布局处理,可选集成 LLM 提升精度&…...
零基础快速入门前端DOM核心知识点详解与蓝桥杯Web赛道备考指南(可用于备赛蓝桥杯Web应用开发)
DOM(文档对象模型)是 HTML/XML 文档的编程接口,通过它可动态操作网页内容、结构与样式。本文将结合示例代码,系统讲解 DOM 核心知识点(重点补充事件系统全解),并针对蓝桥杯 Web 应用开发赛道给出…...
GLM-OCR场景应用:教育资料数字化、商务文档信息抽取实战
GLM-OCR场景应用:教育资料数字化、商务文档信息抽取实战 1. 引言:文档智能化的时代需求 在信息爆炸的今天,我们每天都要处理大量纸质文档和电子文件。教育机构需要将历年试卷数字化归档,企业财务部门要处理堆积如山的发票和合同…...
uniApp离线打包实战避坑指南
1. 离线打包前的环境准备 第一次接触uniApp离线打包时,我踩过的第一个坑就是环境配置。当时以为只要安装了Android Studio就能万事大吉,结果编译时各种报错接踵而至。后来才发现,离线打包对开发环境的版本匹配要求极为严格,差一个…...
语义通信:从理论到6G落地的关键技术演进与挑战
1. 语义通信的理论基石 语义通信(Semantic Communication, SemCom)的核心思想与传统通信有着本质区别。传统通信追求的是"准确传输比特流",而语义通信关注的是"有效传递信息的意义"。这就像两个人对话:传统通…...
