문제 링크: https://leetcode.com/problems/merge-intervals/description/
파이썬 소스: https://bit.ly/4bXKm1ifrom typing import List
class Solution:
    def merge(self, intervals: List[List[int]]) -> List[List[int]]:
        intervals.sort(key = lambda x: x[0])
        answer = [intervals.pop(0)]
        while len(intervals) > 0:
            a_start, a_end = answer.pop()
            b_start, b_end = intervals.pop(0)
            over_lapped: bool = False
            if (a_start <= b_start and b_end <= a_end)  \
                or (a_start <= b_start <= a_end)    \
                or (a_start <= b_end <= a_end):
                over_lapped = True
            if over_lapped:
                start = min(a_start, b_start)
                end = max(a_end, b_end)
                answer.append([start, end])
            else:
                answer.append([a_start, a_end])
                answer.append([b_start, b_end])
        return answer
 
 
댓글 없음:
댓글 쓰기