代码随想录算法训练营第三十六天|435. 无重叠区间、763. 划分字母区间、56. 合并区间。

435. 无重叠区间

题目链接:无重叠区间

题目描述
给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。

解题思路
本题和上一个射气球类似,找到重叠区间即可,将数组按左边界排序,比较当前i的左边界和上一个i的右边界,若判断重合则将两者最小有边界赋予当前i的右边界,以便确定当前重叠区域的有边界,若不重合则计数,记录不重叠区域,最后返回总区域数量减去不重叠区域数量即可。

代码实现

class Solution {public int eraseOverlapIntervals(int[][] intervals) {Arrays.sort(intervals,(a,b)->{return Integer.compare(a[0],b[0]);});int count = 1;for(int i = 1;i<intervals.length;i++){if(intervals[i][0]<intervals[i-1][1]){intervals[i][1] = Math.min(intervals[i-1][1],intervals[i][1]);continue;}else{count++;}}return intervals.length-count;}
}

763. 划分字母区间

题目链接:划分字母区间

题目描述
给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。
注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。
返回一个表示每个字符串片段的长度的列表。

解题思路
本题比较简单,只需要记录每个字母的最后一次出现位置,只要一个字母被加入一个片段,那么这个片段的最后边界就是片段中所有字母的最后出现位置,因此可以不断更新最后出现位置,知道当前遍历位置与最大位置一致,则可切断。

代码实现

class Solution {public List<Integer> partitionLabels(String s) {List<Integer> list = new LinkedList<>();int[] edge = new int[26];char[] chars = s.toCharArray();for (int i = 0; i < chars.length; i++) {edge[chars[i] - 'a'] = i;}int idx = 0;int last = -1;for (int i = 0; i < chars.length; i++) {idx = Math.max(idx, edge[chars[i] - 'a']);if (i == idx) {list.add(i - last);last = i;}}return list;}
}

56. 合并区间

题目链接:合并区间

题目描述
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。

解题思路
本题和之前的重叠区间题十分相似,只不过找到重叠空间后的处理方式不同,本题是记录重叠区域的最大值,以便进行区间合并。

代码实现

class Solution {public int[][] merge(int[][] intervals) {List<int[]> res = new LinkedList<>();//按照左边界排序Arrays.sort(intervals, (x, y) -> Integer.compare(x[0], y[0]));int start = intervals[0][0];int right = intervals[0][1];for (int i = 1; i < intervals.length; i++) {//如果左边界大于最大右边界if (intervals[i][0] > right) {//加入区间 并且更新startres.add(new int[]{start, right});start = intervals[i][0];right = intervals[i][1];} else {//更新最大右边界right= Math.max(right, intervals[i][1]);}}res.add(new int[]{start, right});return res.toArray(new int[res.size()][]);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/689639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是接口测试?怎么做接口测试?

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 首先&#xff0c;什么是接口呢&#xff1f; 接口一般来说有两种…

红旗linux安装32bit依赖库

红旗linux安装32bit依赖库 红旗linux安装32bit依赖库 lib下载 红旗-7.3-lib-32.tar.gz 解压压缩包&#xff0c;根据如下进行操作 1.回退glibc(1)查看当前glibc版本[root192 ~]# rpm -qa | grep glibcglibc-common-2.17-157.axs7.1.x86_64glibc-headers-2.17-260.axs7.5.x86_…

【手写数据库toadb】表relation访问实现概述,分层设计再实践,表访问层与表操作层简化代码复杂度

301表的访问 ​专栏内容: 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会定期更新,对应的代码也会定期更新,每个阶段的代码会打上tag,方便阶段学…

Python Flask高级编程之RESTFul API前后端分离(学习笔记)

Flask-RESTful是一个强大的Python库&#xff0c;用于构建RESTful APIs。它建立在Flask框架之上&#xff0c;提供了一套简单易用的工具&#xff0c;可以帮助你快速地创建API接口。Flask-RESTful遵循REST原则&#xff0c;支持常见的HTTP请求方法&#xff0c;如GET、POST、PUT和DE…

单机环境搭建Redis伪集群

1、Redis版本 [rootwsdhla ~]# redis-server -v Redis server v6.2.6 sha00000000:0 mallocjemalloc-5.1.0 bits64 buildbf23dac15dfc00fa[rootwsdhla ~]# redis-cli -v redis-cli 6.2.62、创建节点目录 创建6个节点目录&#xff0c;分别复制一份redis.conf并编辑&#xff1a…

Codeforces Round 927 (Div. 3)(A,B,C,D,E,F,G)

这场简单些&#xff0c;E题是个推结论的数学题&#xff0c;沾点高精的思想。F是个需要些预处理的DP&#xff0c;G题是用exgcd算边权的堆优化dijkstra。C题有点骗&#xff0c;硬啃很难做。 A Thorns and Coins 题意&#xff1a; 在你的电脑宇宙之旅中&#xff0c;你偶然发现了…

找第K大数

输入N个整数&#xff0c;求第K大的数是哪个&#xff1f; 输入格式 第一行2个正整数&#xff1a;N和K&#xff0c;N范围在[1,100]&#xff0c;K范围在[1,N]。 第二行N个不同的正整数&#xff1a;范围在[1,10000]。 输出格式 一个整数。 输入/输出例子1 输入&#xff1a; 5…

.NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2

前言 很多同学都不愿给电脑设动态壁纸&#xff0c;其中有个重要原因就是嫌它占资源过多。今天大姚分享一个.NET开源、免费&#xff08;MIT license&#xff09;的一个小而快并且功能强大的 Windows 动态桌面软件&#xff0c;支持视频和网页动画播放&#xff1a;DreamScene2。 …

主流开发语言和开发环境?

主流开发语言 Java 简介&#xff1a;Java 是一种广泛使用的面向对象的编程语言&#xff0c;由Sun Microsystems公司于1995年发布&#xff0c;后由Oracle公司接手。Java具有“一次编写&#xff0c;到处运行”的特性&#xff0c;它的跨平台能力得益于Java虚拟机&#xff08;JVM&a…

【c++基础】自然数的分解

说明 自然数的拆分问题。给定自然数n,将其拆分成若干自然数的和。输出所有解&#xff0c;每组解中数字按从小到大排列。相同数字的不同排列算一组解。 如&#xff0c;读入整数3&#xff0c;分解方案如下&#xff1a; 111 12 再比如&#xff0c;读入整数7&#xff0c;分解方…

和数集团2024龙腾山海,新春大吉

龙腾山海迎新岁&#xff0c;瑞气盈门天地春。 在这盛世团圆的时代&#xff0c;在这幸福吉祥的时刻&#xff0c;和数集团向辛勤工作的全体员工、所有的合作伙伴、国际友人、领导老师以及一直支持和关心公司发展的社会各界朋友&#xff0c;致以最诚挚的祝福和感谢&#xff01; …

ESP32工程中CMake使用及加入第三方SDK库文件

1、ESP32工程结构 本文中使用的是乐鑫官方推出的ESP-IDF v5.1对ESP32S3设备开发&#xff0c;并非是Arduino、Micro-python等第三方工具开发。在ESP-IDF框架中&#xff0c;乐鑫官方已经将CMake 和 Ninja 编译构建工具集成到了ESP-IDF中。 ESP-IDF 即乐鑫物联网开发框架&#xff…

【Java前端技术栈】Promise

一、Promise 基本介绍 1. 传统的 Ajax 异步调用在需要多个操作的时候&#xff0c;会导致多个回调函数嵌套&#xff0c;导致代码不够直观&#xff0c;就是常说的Callback Hell 2. 为了解决上述的问题&#xff0c;Promise对象应运而生&#xff0c;在 EMCAScript 2015当中已经成…

车道拓扑、目标布局、天气条件全都要!Text2Street:犀利的街景生成神器!

文本到图像生成在扩散模型的出现下取得了显著进展。然而&#xff0c;基于文本生成街景图像仍然是一项困难的任务&#xff0c;主要是因为街景的道路拓扑复杂&#xff0c;交通状况多样&#xff0c;天气情况各异&#xff0c;这使得传统的文本到图像模型难以处理。为了解决这些挑战…

每日一题——LeetCode1460.通过翻转子数组使两个数组相等

方法一 哈希Map 用两个Map集合分别统计target和arr里出现的元素和出现的次数&#xff0c;在比较两个Map集合看是否出现的元素和次数都相同 var canBeEqual function(target, arr) {let map1 new Map();let map2 new Map();for (let item of target) {map1.set(item, (map1…

039-安全开发-JavaEE应用SpringBoot框架Actuator监控泄漏Swagger自动化

039-安全开发-JavaEE应用&SpringBoot框架&Actuator监控泄漏&Swagger自动化 #知识点&#xff1a; 1、JavaEE-SpringBoot-监控系统-Actuator 2、JavaEE-SpringBoot-接口系统-Swagger 3、JavaEE-SpringBoot-监控&接口&安全问题 演示案例&#xff1a; ➢Spring…

服务器钓鱼攻击常用手法简介与防护建议

服务器钓鱼攻击是最常见、最容易让受害者中招的网络服务器犯罪之一&#xff0c;随着网络服务器技术的不断发展&#xff0c;攻击者的伪装手段也变得愈发狡诈&#xff0c;攻击频次也再增高&#xff0c;各种新奇的攻击方式层出不穷。 防止网络服务器钓鱼的最基本原则是保持警惕&a…

httpclient发送post请求、httpclient上传文件

引入依赖 <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version></dependency><dependency><groupId>org.apache.httpcomponents</groupI…

机器人初识 —— 电机传动系统

一、背景 波士顿动力公司开发的机器人&#xff0c;其电机传动系统是其高性能和动态运动能力的核心部分。电机传动系统通常包括以下几个关键组件&#xff1a; 1. **电动马达**&#xff1a;波士顿动力的机器人采用了先进的电动马达作为主要的动力源&#xff0c;如伺服电机或步进…

【数据分享】2014-2024年全国监测站点的逐时空气质量数据(15个指标\Excel\Shp格式)

空气质量的好坏反映了空气的污染程度&#xff0c;在各项涉及城市环境的研究中&#xff0c;空气质量都是一个十分重要的指标。空气质量是依据空气中污染物浓度的高低来判断的。 我们发现学者王晓磊在自己的主页里面分享了2014年5月以来的全国范围的到站点的逐时的空气质量数据&…