Day31 贪心算法 part05
56. 合并区间
本题也是重叠区间问题,如果昨天三道都吸收的话,本题就容易理解了。
代码随想录
class Solution {public int[][] merge(int[][] intervals) {Arrays.sort(intervals, (a,b) -> Integer.compare(a[0], b[0]));List<int[]> result = new ArrayList<>();for(int i = 1; i < intervals.length; i++){if(intervals[i][0] <= intervals[i-1][1]){intervals[i][0] = Math.min(intervals[i][0], intervals[i-1][0]);intervals[i][1] = Math.max(intervals[i][1], intervals[i-1][1]);}else{result.add(new int[]{intervals[i-1][0], intervals[i-1][1]}); }}result.add(new int[]{intervals[intervals.length-1][0], intervals[intervals.length-1][1]}); return result.toArray(new int[0][]);}
} 总结
1.本题的套路还是判断重叠区间问题。和射气球是一样的套路,只是判断条件和判断后的更新操作有所不同。
2.还是一样的套路,我们先对左边界进行排序,让所有的相邻区间尽可能的重叠在一起。如果intervals[i][0] <= intervals[i-1][1]说明当前段的边界和上一个边界有重叠,然后对当前边界进行跟新,需要更新当前边界的左边取最小值,然后更新当前边界的右边取最大值。如果判断没有重叠,就把上一段区间加入到集合里面。注意for循环之后,其实最后一段区间是没有加入到集合里面的,我们需要在for循环之后,单独把最后一段区间加入到集合里面。最后把集合result.toArray(new int[0][])转为二维数组。
738.单调递增的数字
代码随想录
class Solution {public int monotoneIncreasingDigits(int n) {//一开始不知道怎么处理整数的每一位,其实转为字符串或者字符数组处理就可以了String num = String.valueOf(n);char[] chars = num.toCharArray();int flag = chars.length;for(int i = chars.length - 1; i > 0; i--){if(chars[i] < chars[i-1]){chars[i-1]--;flag = i;}}for(int i = flag; i < chars.length; i++){chars[i] = '9';}return Integer.parseInt(new String(chars));}
} 总结
1.这道题只需要想明白我们要遵循的处理逻辑就可以。就是如果碰到前一位的数字比当前位高,那我们就把前一位数字减1,当前数字应该变成9。想明白这个就好做了。然后还有一个难点就是应该前序遍历还是后序遍历,这种情况可以自己模拟一下,对于这道题,应该是后序遍历,因为后序遍历可以利用到前一次处理的结果。最后一个难点就是我们不应该是直接把当前数字变成9,而是设置一个flag,让flag后面的数字全变成9,这是为了防止1000,这种情况,如果不使用flag,就是900,而不是999。还有flag的初始不能为0,因为如果碰到1234,这种就不需要处理flag,所以我们应该初始为 int flag = chars.length;
2.一开始不知道怎么处理整数的每一位,其实转为字符串或者字符数组处理就可以了,后面再通过Integer.parseInt()转为int类型。然后基本数据类型是没有toString方法的。
3.这道题关键是想到个例怎么处理,还要考虑遍历顺序,只有从后向前遍历才能重复利用上次比较的结果。最后想到使用flag来标记从哪里开始赋值9。
968.监控二叉树 (可跳过)
本题是贪心和二叉树的一个结合,比较难,一刷大家就跳过吧。
代码随想录
总结
总结
可以看看贪心算法的总结,贪心本来就没啥规律,能写出个总结篇真的不容易了。
代码随想录
相关文章:
Day31 贪心算法 part05
56. 合并区间 本题也是重叠区间问题,如果昨天三道都吸收的话,本题就容易理解了。 代码随想录 class Solution {public int[][] merge(int[][] intervals) {Arrays.sort(intervals, (a,b) -> Integer.compare(a[0], b[0]));List<int[]> result …...
uniapp连接mqtt频繁断开原因和解决方法
mqtt参考文档:MQTT.js 入门教程 | EMQ、MQTT.js 入门教程 - EMQX - 博客园 uniapp引用MQTT频繁断开的问题可能由于以下几个原因导致: 网络不稳定:频繁断开可能是由于网络不稳定导致的,可以尝试优化网络连接。 心跳机制问题&…...
【数据结构-队列】力扣641. 设计循环双端队列
设计实现双端队列。 实现 MyCircularDeque 类: MyCircularDeque(int k) :构造函数,双端队列最大为 k 。 boolean insertFront():将一个元素添加到双端队列头部。 如果操作成功返回 true ,否则返回 false 。 boolean insertLast() ࿱…...
leetcode3250. 单调数组对的数目 I,仅需1s
题目: https://leetcode.cn/problems/find-the-count-of-monotonic-pairs-i/description/ 不为别的,只是记录下这个超过100%,而且比原先最快的快了一个量级 不知道咋分析,反正得出结论就是,变大不变,变小…...
安全基线检查
一、安全基线检测基础知识 安全基线的定义 安全基线检查的内容 安全基线检查的操作 二、MySQL的安全基线检查 版本加固 弱口令 不存在匿名账户 合理设置权限 合理设置文件权限 日志审核 运行账号 可信ip地址控制 连接数限制 更严格的基线要求 1、禁止远程连接数据库 2、修改…...
C#读取本地图像的方法总结
前言: 大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在C#开发C#程序的时候,有时候需要读取本地图像,下面进行详…...
力扣81:搜索旋转排序数组II
已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转 ,使数组变为 [nums[k], nums[k1], ..., nums[n-1], n…...
信息系统项目管理-论文写作方法之背景二
为响应国家政务服务“一网、一门、一次”改革,打破“信息孤岛”现象,打造线上线下相融合、多级联动的政务服务一体化平台。XX市行政审批局欲整合市局及下属13镇区、500多个村居委会政务服务中心业务,梳理人社、民政、卫计委、公积金、交通等多…...
使用ffmpeg命令实现视频文件间隔提取帧图片
将视频按每隔五秒从视频中提取一张图片 使用 ffmpeg 工具,通过设置 -vf(视频过滤器)和 -vsync 选项 命令格式 ffmpeg -i input_video.mp4 -vf "fps1/5" output_%03d.png 解释: -i input_video.mp4:指定输…...
我们项目要升级到flutter架构的几点原因
一、探索 Flutter打造卓越移动应用的新时代框架 在移动应用开发的世界里,Flutter已经成为了一个炙手可热的话题。诞生于Google的怀抱,Flutter以其独特的优势和理念,正在引领一场全球范围内的应用开发 ** 。本文将深入探讨Flutter项目的特点、…...
【简单好抄保姆级教学】javascript调用本地exe程序(谷歌,edge,百度,主流浏览器都可以使用....)
javascript调用本地exe程序 详细操作步骤结果 详细操作步骤 在本地创建一个txt文件依次输入 1.指明所使用注册表编程器版本 Windows Registry Editor Version 5.00这是脚本的第一行,指明了所使用的注册表编辑器版本。这是必需的,以确保脚本能够被正确解…...
ElasticSearch为什么不能在query阶段直接返回_id,从而避免fetch?
整理自Github的一个issue,也正好解答了我的疑惑 https://github.com/elastic/elasticsearch/issues/17159 提问 是否可以避免搜索的fetch阶段并仅返回文档ID?查询阶段结束时是否有_id,这样当我只需要_id时,fetch就多余了?可以通过…...
网安瞭望台第5期 :7zip出现严重漏洞、识别网络钓鱼诈骗的方法分享
国内外要闻 7 - Zip存在高危漏洞,请立刻更新 2024 年 11 月 24 日,do son 报道了 7 - Zip 中存在的一个高严重性漏洞 CVE - 2024 - 11477。7 - Zip 是一款广受欢迎的文件压缩软件,而这个漏洞可能会让攻击者在存在漏洞的系统中执行恶意代码。…...
获 2023 年度浙江省科学技术进步奖一等奖 | 网易数智日报
11 月 22 日,加快建设创新浙江因地制宜发展新质生产力动员部署会暨全省科学技术奖励大会在杭州隆重召开。浙江大学、网易数智等单位联合研发的“大规模结构化数据智能计算平台及产业化”项目获得 2023 年度浙江省科学技术进步奖一等奖。 加快建设创新浙江因地制宜发…...
SQL基础入门 —— SQL概述
目录 1. 什么是SQL及其应用场景 SQL的应用场景 2. SQL数据库与NoSQL数据库的区别 2.1 数据模型 2.2 查询语言 2.3 扩展性 2.4 一致性与事务 2.5 使用场景 2.6 性能与扩展性 总结 3. 常见的SQL数据库管理系统(MySQL, PostgreSQL, SQLite等) 3.…...
【附录】Rust国内镜像设置
目录 前言 (1)设置环境变量 (2)安装Rust (3)设置crates镜像 前言 本节课来介绍下如何在国内高速下载安装Rust和Rust依赖,由于网络原因,我们在安装Rust和下载项目依赖时都很慢&am…...
量化交易系统开发-实时行情自动化交易-8.2.发明者FMZ平台
19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来会对于发明者FMZ平台介绍。 发明…...
MATLAB —— 机械臂工作空间分析
系列文章目录 前言 本示例展示了如何使用可操作性指数对不同类型的机械手进行工作空间分析。工作空间分析是一种有用的工具,可用于确定机器人工作空间中最容易改变末端效应器位置和方向的区域。本示例的重点是利用不同的可操控性指数类型来分析各种机械手的工作空间…...
向日葵连接xrdp虚拟桌面
x2go的虚拟性没有那么好。而xrdp,可以实现较好的配置,并且能适应本机电脑的分辨率,非常方便。 配置xrdp可以参考这个: https://blog.csdn.net/weixin_54227557/article/details/143303803 然后就是重启相关服务了。 sudo pkill…...
AI智算-正式上架GPU资源监控概览 Grafana Dashboard
下载链接 https://grafana.com/grafana/dashboards/22424-ai-gpu-20241127/...
容器技术从入门到精通:Docker核心概念、Dockerfile与生产实践全解析
1. 项目概述:从零到一构建容器化认知体系最近在技术社区里,经常看到有朋友在讨论stephrobert/containers-training这个仓库。乍一看,这像是一个个人或团队维护的关于容器技术的培训材料。对于刚接触 Docker 和容器生态的开发者、运维工程师&a…...
开源项目可持续性挑战:从OpenOffice兴衰看企业技术选型策略
1. 开源软件的理想与现实:从OpenOffice的兴衰谈起几年前,当我听说Apache软件基金会(ASF)正在考虑让OpenOffice项目“退休”时,内心的震动是实实在在的。对于我们这些经历过世纪之交软件大战的老兵来说,Open…...
云原生本地开发新范式:LDLT方法论与实践指南
1. 项目概述:从“LDLT”看云原生时代的本地开发范式革新如果你是一名云原生应用的开发者,大概率经历过这样的场景:为了调试一个微服务,你需要在本地启动一整套依赖——数据库、消息队列、缓存、甚至其他几个关联服务。你的开发机内…...
暗黑破坏神2存档编辑器:游戏数据解析与自定义编辑的技术实现
暗黑破坏神2存档编辑器:游戏数据解析与自定义编辑的技术实现 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 在游戏开发与修改社区中,暗黑破坏神2(Diablo II)作为经典ARPG游戏&…...
从ADI收购LTC看电源管理趋势:软件定义电源与能量收集技术解析
1. 从一笔天价收购案,看电源管理技术的未来十年2016年,模拟芯片行业发生了一场地震级的并购:模拟巨头亚德诺半导体(Analog Devices Inc., ADI)以148亿美元的天价,收购了以高性能模拟芯片闻名的凌力尔特&…...
中国科学院发布类脑大模型瞬悉2.0,打破长序列与低功耗部署核心瓶颈
来源:ScienceAI 本文约3000字,建议阅读5分钟验证了类脑机制与高效模型架构结合的广阔前景。当前,大模型发展正从「参数和数据规模驱动」逐步延展至「上下文能力驱动」。在智能体、代码理解、长文档分析等应用中,模型需要处理数十万…...
别再死磕A的逆了!聊聊矩阵的‘备胎’:广义逆A-与A+在Python/Numpy里怎么算?
别再死磕A的逆了!聊聊矩阵的‘备胎’:广义逆A-与A在Python/Numpy里怎么算? 遇到非方阵或病态矩阵时,传统逆矩阵就像突然失联的前任——完全派不上用场。这时候广义逆矩阵(A-和A)就像靠谱的备胎,…...
Spring AI 2.0 开发Java Agent智能体 - 会话记忆(Chat Memory)
大家好,我是Java1234_小锋老师,最近更新《2027版本 Spring AI 2.0 开发Java Agent智能体 视频教程》专辑,感谢大家支持。本课程主要介绍和讲解Spring AI 2.0简介,Spring AI 2.0 HelloWorld搭建,Advisors — 拦截器模式…...
【运算篇】算术与逻辑律令(3):比特的手术刀,镜像翻转与空间缝合
在 4-bit 的逻辑地牢里,如果说算术指令提供了“肌肉”,逻辑指令开启了“感官”,那么接下来我们要聊的,则是这台机器最细腻的形态手术。如果说 AND/OR 是在判定“存在”,那么 NOT 和移位指令(SHL/SHR&#x…...
SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程(四篇连载)第四篇:ADT连接故障排查与环境迁移教程
ABAP Development Tools(ADT)安装配置学习分享教程(四篇连载) 第四篇:ADT连接故障排查与环境迁移教程 ADT连不上SAP后端?刚刚还好好的系统突然报错了?换了新电脑要重建整个开发环境?…...
