lintcode練習 156 合併區間

2021-08-22 04:43:21 字數 605 閱讀 4748

給出若干閉合區間,合併所有重疊的部分。

您在真實的面試中是否遇到過這個題?  是

given intervals => merged intervals:

[                     [

(1, 3), (1, 6),

(2, 6), => (8, 10),

(8, 10), (15, 18)

(15, 18) ]

]

o(n log n) 的時間和 o(1) 的額外空間。

實現**:

思路:先對列表按照start進行排序,然後比較,如果end大於等於start,證明區間重複,進行合併。

新區間取res的start, 比較重複區間的大小,取大的一方。

"""definition of interval.

class interval(object):

def __init__(self, start, end):

self.start = start

self.end = end

"""

lintcode 156 合併區間

給出若干閉合區間,合併所有重疊的部分。樣例給出的區間列表 合併後的區間列表 1,3 1,6 2,6 8,10 8,10 15,18 15,18 挑戰 o n log n 的時間和 o 1 的額外空間。標籤排序 陣列 領英 谷歌 思路 由於題目沒有明確說明輸入集是有序的,所以首先對輸入集排序 自定義比...

156 合併區間

5.3 本來以為是排好序的區間,後來發現不是。definition of interval public class interval class solution for int i 0 i intervals.size 1 i if tmp1.start tmp2.end tmp1.start ...

LintCode 合併區間

題目描述 給出若干閉合區間,合併所有重疊的部分。樣例 給出的區間列表 合併後的區間列表 1,3 1,6 2,6 8,10 8,10 15,18 15,18 做題思路 先用bool函式規定一種排序演算法,每個陣列的第乙個數字比較,按照公升序的方法排列。運用sort函式將intervals的陣列按照規定...