leetcode合併時間區間

2021-07-13 20:54:04 字數 696 閱讀 1181

給定一組非重疊的時間間隔的,插入乙個新的時間間隔成區間(可能需要合併)。

實施例1:給定的時間間隔[1,3],[6,9],插入並在如[1,5]合併[2,5],[6,9]。

實施例2:給定[1,2],[3,5],[6,7],[8,10],[12,16],插入和作為合併[4,9]後為[1,2],[3,10],[12,16]。

時間複雜度o(n),空間複雜度o(1)

code

#define  _crt_secure_no_warnings

#include

using

namespace

std;

#include

struct interval

};class solution

else

if (tmp._start>it->_end)

else

if (tmp._end < it->_end)

it = _root.erase(it);}}

_root.insert(_root.end(), tmp);

}void disp()

}private:

vector

_root;

};void test()

int main()

LeetCode 區間合併

區間合併 給出乙個區間的集合,請合併所有重疊的區間。示例 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 可被視為重疊區間。i...

LeetCode 合併區間

給出乙個區間的集合,請合併所有重疊的區間。示例 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 可被視為重疊區間。思路分析 此...

leetcode 區間合併

個區間若能合併,則第乙個區間的右端點一定不小於第二個區間的左端點。所以先把區間集合按照左端點從小到大進行排序,接著從第乙個區間開始遍歷,對每個區間執行如下操作 1.首先儲存該區間的左端點start和右端點end 3.若當前區間不再滿足合併條件或者遍歷到了集合末尾,就構建新合併區間,其中左端點為初始區...