題目描述】
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、成都網(wǎng)站制作、鐵山網(wǎng)絡(luò)推廣、小程序制作、鐵山網(wǎng)絡(luò)營(yíng)銷、鐵山企業(yè)策劃、鐵山品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供鐵山建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
Given a non-overlapping interval list which is sorted by start point.Insert a new interval into it, make sure the list is still in order and non-overlapping (merge intervals if necessary).
給出一個(gè)無(wú)重疊的按照區(qū)間起始端點(diǎn)排序的區(qū)間列表。在列表中插入一個(gè)新的區(qū)間,你要確保列表中的區(qū)間仍然有序且不重疊(如果有必要的話,可以合并區(qū)間)。
【題目鏈接】
http://www.lintcode.com/en/problem/insert-interval/
【題目解析】
用pos記錄newInterval應(yīng)該插入的位置。順序遍歷intervals中的元素,若當(dāng)前interval的end比newInterval的start還小,則將當(dāng)前interval加入答案,同時(shí)pos+1;若比newInterval大,則直接加入答案;若有overlap,則需要merge,newInterval的start取兩者間小的,end取兩者間大的。最后在pos的位置插入newInterval即可。
【參考答案】
http://www.jiuzhang.com/solutions/insert-interval/