LintCode 30 插入區間

2021-07-30 15:01:02 字數 955 閱讀 7416

給出乙個無重疊的按照區間起始端點排序的區間列表。

在列表中插入乙個新的區間,你要確保列表中的區間仍然有序且不重疊(如果有必要的話,可以合併區間)。

插入區間[2, 5] 到 [[1,2], [5,9]],我們得到 [[1,9]]。

插入區間[3, 4] 到 [[1,2], [5,9]],我們得到 [[1,2], [3,4], [5,9]]。

直接將數從小到大存到陣列,接著再存到vec2中即可。

注意插入的有可能是[6,6]這樣的。

直接將其插入到正確位置即可。

vector

vec2;

vector

insert(vector

&intervals, interval newinterval)

}if (size != 0)

for (int i = newinterval.start; i < newinterval.end; i++)

if (max < newinterval.end)

int i = 0;

bool flag = true;

while (i <= max)

if (i > max)

if (flag && newinterval.start < i && newinterval.start == newinterval.end)

int start = i, end = 0;

while (a[i] && i <= max)

if (i > max)

end = i;

interval val(start, end);

vec2.push_back(val);

}return vec2;

}

LintCode 30 插入區間

給出乙個無重疊的按照區間起始端點排序的區間列表。在列表中插入乙個新的區間,你要確保列表中的區間仍然有序且不重疊 如果有必要的話,可以合併區間 樣例 插入區間 2,5 到 1,2 5,9 我們得到 1,9 插入區間 3,4 到 1,2 5,9 我們得到 1,2 3,4 5,9 這道題比較考驗邏輯能力,...

lintcode 30 插入區間

給出乙個無重疊的按照區間起始端點排序的區間列表。在列表中插入乙個新的區間,你要確保列表中的區間仍然有序且不重疊 如果有必要的話,可以合併區間 插入區間 2,5 到 1,2 5,9 我們得到 1,9 插入區間 3,4 到 1,2 5,9 我們得到 1,2 3,4 5,9 這道題共有三種情況 1.新區間...

LintCode 30 插入區間

題目 分析 在非重疊的區間中插入乙個新的區間,可能還需要與原有的區間進行合併,因此要對給定的區間集合進行遍歷,需要考慮兩點 新插入的區間與原有區間不重疊,不重疊的情況分為兩種 第一種是新區間的start 原區間的end 第二種是新區間的end 原區間的start。這種情況直接將新區間插入到對應的位置...