|
| 1 | +# Given an array of intervals where intervals[i] = [starti, endi], |
| 2 | +# merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input. |
| 3 | + |
| 4 | +def merge(intervals): |
| 5 | + if intervals==[]: |
| 6 | + return [] |
| 7 | + result=[] |
| 8 | + intervals.sort() |
| 9 | + for interval in intervals: |
| 10 | + if result==[] or result[-1][1]<interval[0]: |
| 11 | + result.append(interval) |
| 12 | + else: |
| 13 | + result[-1][1]=max(result[-1][1],interval[1]) |
| 14 | + return result |
| 15 | + |
| 16 | +if __name__ == "__main__": |
| 17 | + intervals=[[1,3],[2,5]] |
| 18 | + print(merge(intervals)) |
0 commit comments