合并区间

作者: _阿南_ | 来源:发表于2020-04-16 11:40 被阅读0次

    题目:

    给出一个区间的集合,请合并所有重叠的区间。
    
    示例 1:
    
    输入: [[1,3],[2,6],[8,10],[15,18]]
    输出: [[1,6],[8,10],[15,18]]
    解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].
    示例 2:
    
    输入: [[1,4],[4,5]]
    输出: [[1,5]]
    解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。
    

    题目的理解:

    题目没有表达的意思有:数组中的集合,排序是无须的。集合存在多个集合重叠的问题。
    将集合有序排序后,判断集合A的最大如果大于集合B的最小,那么将此A和B合并。

    python实现

    from typing import List
    
    
    class Solution:
        def merge(self, intervals: List[List[int]]) -> List[List[int]]:
            intervals.sort(key=lambda x: x[0])
    
            def dealwith(inputNums: List[List[int]]) -> List[List[int]]:
                nums = list()
    
                for num in inputNums:
                    nums += num
    
                result = list()
                index = 0
    
                while index < len(nums) - 1:
                    temp = [nums[index]]
                    if index + 3 > len(nums):
                        temp.append(nums[index + 1])
    
                        result.append(temp)
                        break
    
                    num1 = nums[index + 1]
                    num2 = nums[index + 2]
    
                    if num1 >= num2:
                        temp.append(max(num1, nums[index + 3]))
    
                        index += 4
                    else:
                        temp.append(num1)
                        index += 2
    
                    result.append(temp)
    
                return result
    
            middle = dealwith(intervals)
            print(middle)
    
            while True:
                middleTemp = dealwith(middle)
                print(middleTemp)
                if len(middle) == len(middleTemp):
                    break
                else:
                    middle = middleTemp
    
            return middle
    

    看着真的是好啰嗦啊,尴尬

    想看最优解法移步此处

    提交

    ME

    错误了好多次,都是因为没有考虑到细节,如果题目没有特殊说明,那么就是不支持。

    // END 说话慢一点,心情平和一点

    相关文章

      网友评论

        本文标题:合并区间

        本文链接:https://www.haomeiwen.com/subject/lqfrvhtx.html