leetCode 57 插入區間

2022-08-14 04:42:15 字數 616 閱讀 3882

這題的關鍵是判斷兩個區間是否存在交集,比如區間$s_1[l_1,r_1],s_2[l_2, r_2];如果r_1r_2則說明s_1>s_2則s_1在s_2右側無交集,如果不符合以上兩個條件則說明有交集,$則可以通過$[max(l_1,l_2),min(r_1,r_2)]$求交集,通過$[min(l_1,l_2),max(r_1,r_2)]$求並集。

通過遍歷區間陣列如果當前區間與新區間s無交集則直接加入答案,如果有交集則與新區間s進行合併,如果第一次遇到在s右側($l>left$)的區間則將s加入答案,然後加入當前區間,遍歷完陣列後如果不存在這樣的區間則需要把s加入答案。

class solution );

placed = true;

}ans.add(interval);

} else if (interval[1] < left) else

}// 如果不存在這樣的區間則將s加入答案

if (!placed) );

}int fans = new int[ans.size()][2];

for (int i = 0; i < ans.size(); i++)

return fans;

}}

LeetCode 57 插入區間

幾個注意點 1.原集合為空 2.插入在最開始的位置 3.插入在末尾位置 4.插入在中間 可以通過新增標誌,沒有新增就每次都去判斷重疊情況進行新增 vectorresult if intervals.size 0 bool isadd false for int i 0 i intervals.siz...

leetcode57 插入區間

給出乙個無重疊的 按照區間起始端點排序的區間列表。在列表中插入乙個新的區間,你需要確保列表中的區間仍然有序且不重疊 如果有必要的話,可以合併區間 示例 1 輸入 intervals 1,3 6,9 newinterval 2,5 輸出 1,5 6,9 示例 2 輸入 intervals 1,2 3,...

leetcode 57 插入區間

給出乙個無重疊的 按照區間起始端點排序的區間列表。在列表中插入乙個新的區間,你需要確保列表中的區間仍然有序且不重疊 如果有必要的話,可以合併區間 示例 1 輸入 intervals 1,3 6,9 newinterval 2,5 輸出 1,5 6,9 示例 2 輸入 intervals 1,2 3,...