首页 > 其他分享 >合并区间

合并区间

时间:2024-09-25 09:23:39浏览次数:8  
标签:合并 list intervals ans 区间 List

对下面的区间进行合并,

实例如下:

输入:intervals = [[1,3],[2,6],[8,10],[15,18]]

输出:[[1,6],[8,10],[15,18]]

解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].

解决问题的思路:

(1)先将区间进行排序(按左区间的大小)

(2)遍历整个list,如上面所示:如果3>2,就更新3为6,然后依次遍历,如果不满足上述的条件,就把该区间增加到result中。

 下面是实现的代码:

class Solution:
    def merge(self, intervals: List[List[int]]) -> List[List[int]]:
        intervals.sort(key=lambda p:p[0])

        ans_list=[]

        for in_i in intervals:
            # 如果ans_list最后一个的右区间大于 in_i的左边的数
            if ans_list and ans_list[-1][-1]>=in_i[0]:
                # 更新ans_list最后一个右区间的数,是该值与in_i[1]进行对比后的最大值
                ans_list[-1][-1]=max(ans_list[-1][-1],in_i[1])
            else:
                ans_list.append(in_i)
        return ans_list

 

标签:合并,list,intervals,ans,区间,List
From: https://www.cnblogs.com/TW-NLP/p/18430576

相关文章

  • Java怎么把多个对象的list的数据合并
    环境idea,java8方法1.使用addAll()方法想简单地想要合并List,直接使用List的addAll()方法是最直接的方式。List<YourType>list1=newArrayList<>();List<YourType>list2=newArrayList<>();//假设list1和list2已经有了数据List<YourType>merged......
  • asp.net core webapi 将两个对象/两个类合并到一起返回给前端
    举例:A,B类publicclassA{publicintid{get;set;}publicstringname{get;set;}publicstringphone{get;set;}}publicclassB{publicintage{get;set;}publicstringsex{get;set;}}publicclassAB{publicAa{get;set;}public......
  • python 字典的解包、合并
    python字典的解包、合并内容在Python中,可以使用以下方式解包和打包字典:解包字典使用**运算符可以解包字典,将字典中的键值对作为关键字参数传递给函数或构造器。例如:deffunc(a,b,c):print(a,b,c)params={'a':1,'b':2,'c':3}func(**params)#输出:......
  • 数据结构与算法——Java实现 12.习题——合并有序链表
    目录21.合并两个有序链表方法1递归思路方法2迭代思路 完整代码结点类方法 人各有所感,角度不同又怎能感同身受                                                ——24.9.2321.合并两个有序链表将两个......
  • 用C#写个PDF批量合并工具简化日常工作
    一.前言由于项目需要编写大量的材料,以及各种签字表格、文书等,最后以PDF作为材料交付的文档格式,过程文档时有变化或补充,故此处理PDF文档已经成为日常工作的一部分。网上有各种PDF处理工具,总是感觉用得不跟手。最后回顾自己的需求总结为以下几项:1.可以便捷、快速的对多份PDF进行......
  • 数据结构之线性表——LeetCode:80. 删除有序数组中的重复项 II,88. 合并两个有序数组,4.
    80.删除有序数组中的重复项II题目描述80.删除有序数组中的重复项II给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用O(1)额外......
  • 数据结构之线性表——LeetCode:82. 删除排序链表中的重复元素 II,21. 合并两个有序链
    82.删除排序链表中的重复元素II题目描述82.删除排序链表中的重复元素II给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。运行代码classSolution{public:ListNode*deleteDuplicates(ListNode......
  • abc367F 判断区间构成的多重集合是否相同
    给定长度为N的两个数组A[i]和B[i],有Q组询问,每次给定(l[i],r[i],L[i],R[i]),问由A[l[i]]A[r[i]]构成的multiset,与B[L[i]]B[R[i]]构成的multiset是否相同?范围:1<=N,Q<=2E5,1<=A[i],B[i]<=N,1<=l[i]<=r[i]<=N,1<=L[i]<=R[i]<=N分析:将int映射为u64,因为集合不区分先后,而加法满足交换......
  • P6292 区间本质不同子串个数
    Solution与“区间本质不同回文子串个数”类似,但没有等差数列那样优美的性质了……下面是一个更通用的做法。考虑移动一次右端点\(r\),就相当于把parent树上一条到根链的lastendpos设为\(r\).把这个看成access操作.考虑用LCT维护parent树的链,维护一个性质:一条实链......
  • Chainlit集成LlamaIndex实现知识库高级检索(自动合并检索)
    检索原理**自动合并检索**自动合并检索原理,和我洗的上一篇文章的检索方案:将文本分割成512大小(一般对应段落大小)和128(一般对句子大小不是严格的句子长度)大小两种分别存储到索引库,再用llama_index的简单融合寻回器,分别从这里个向量库查询。将查询结果融合排序后交给LLM的......