算法 合并区间-(排序+数组)

news/2025/2/12 12:24:41/

牛客网: BM89

题目: 合并所有重叠子区间

思路: 按start大小排序,如果后一个start在前一个end内,则更新前一个end为后一个end及自身中的较大者,继续下一个对比合并

代码:

// gopackage main
// import "fmt"
import . "nc_tools"
import "sort"
/** type Interval struct {*   Start int*   End int* }*//*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param intervals Interval类一维数组 * @return Interval类一维数组
*/func max(x, y int) int {if x > y {return x} else {return y}
}func merge( intervals []*Interval ) []*Interval {// write code hereif len(intervals) < 2 {return intervals}sort.Slice(intervals, func(i, j int) bool {return intervals[i].Start < intervals[j].Start})var res []*Intervalres = append(res, intervals[0])for i := 1; i < len(intervals); i++ {if intervals[i].Start <= res[len(res)-1].End {res[len(res)-1].End = max(intervals[i].End, res[len(res)-1].End)} else {res = append(res, intervals[i])}}return res
}


http://www.ppmy.cn/news/1125957.html

相关文章

字节8年经验之谈 —— 10大自动化测试框架总结!

软件行业正迈向自主、快速、高效的未来。为了跟上这个高速前进的生态系统的步伐&#xff0c;必须加快应用程序的交付时间&#xff0c;但不能以牺牲质量为代价。快速实现质量是必要的&#xff0c;因此质量保证得到了很多关注。为了满足卓越的质量和更快的上市时间的需求&#xf…

ElementUI之动态树+数据表格+分页

目录 前言 一.ElementUI之动态树 1.前端模板演示 2.数据绑定 2.1 通过链接获取后台数据 2.2 对链接进行绑定 2.3添加动态路由 2.4 配置路由 3.效果演示 二.数据表格动态分页 1.前端模板 2.通过JS交互获取后端数据 3 效果演示 前言 Element UI 是一个基于 Vue.js 的开…

OpenAI 更新 ChatGPT:支持图片和语音输入【附点评】

一、消息正文 9月25日消息,近日OpenAI宣布其对话AI系统ChatGPT进行升级,添加了语音输入和图像处理两个新功能。据OpenAI透露,这些新功能将在未来两周内面向ChatGPT Plus付费用户推出,免费用户也将很快可以使用这些新功能。这标志着ChatGPT继续朝着多模态交互的方向发展,为用户提…

【Element-UI】实现动态树、数据表格及分页效果

一、导言 1、引言 在现代软件开发中&#xff0c;动态树、数据表格以及分页效果成为了许多应用的核心需求。随着业务规模和复杂性的增加&#xff0c;我们往往需要展示大量的层级结构数据&#xff0c;并且实现交互性强且高效的操作。 动态树提供了一种组织结构清晰、可伸缩的展示…

北工大汇编——循环程序设计

题目要求 用循环程序&#xff0c;显示乘法表。要求输入 0-10 之间的数值a&#xff0c;显示1-a值的乘法表 程序代码 DATAS SEGMENT;此处输入数据段代码 msg db 0ah, 0dh, "please input 1-10: $"strMul db "*", $strEqu db "", $strSpace db &q…

Windows系统ping命令的c++实现

// ping.cpp : 定义控制台应用程序的入口点。 //#include <winsock2.h> #include <stdio.h> #include <stdlib.h> #define ICMP_ECHO 8 #define ICMP_ECHOREPLY 0 /* The IP header */ typedef struct iphdr { unsigned char h_len:4; // length of the…

Day57:组件库封装-1

封装element组件 参考对象 折叠面板 按钮 npm create vue3 npm i 使用vue3建库如果报错可以尝试禁用vs的 vetur 插件&#xff0c;这是vue2插件&#xff0c;会给vue3项目报错(禁用了之后需要重新加载 src新建components文件夹 下面新建Button文件夹&#xff0c;新建vue&…

Zookeeper高级_选举机制

核心选举原则 Zookeeper集群中只有超过半数以上的服务器启动&#xff0c;集群才能正常工作&#xff1b;在集群正常工作之前&#xff0c;myid小的服务器给myid大的服务器投票&#xff0c;直到集群正常工作&#xff0c;选出Leader&#xff1b;半数机制&#xff1b; 选举机制流程…