#+ANKI_DECK: study_deck_02 * TODO 0056. Merge Intervals :medium: :PROPERTIES: :NEETCODE: [[file:../../roadmap.org::*0056. Merge Intervals][0056. Merge Intervals]] :END: Given an array of ~intervals~ where ~intervals[i] = [start_{i}, end_{i}]~, merge all overlapping intervals, and return /an array of the non-overlapping intervals that cover all the intervals in the input/. *Example 1:* #+begin_src Input: intervals = [[1,3],[2,6],[8,10],[15,18]] Output: [[1,6],[8,10],[15,18]] Explanation: Since intervals [1,3] and [2,6] overlap, merge them into [1,6]. #+end_src *Example 2:* #+begin_src Input: intervals = [[1,4],[4,5]] Output: [[1,5]] Explanation: Intervals [1,4] and [4,5] are considered overlapping. #+end_src *Example 3:* #+begin_src Input: intervals = [[4,7],[1,4]] Output: [[1,7]] Explanation: Intervals [1,4] and [4,7] are considered overlapping. #+end_src *Constraints:* - ~1 <= intervals.length <= 10^{4}~ - ~intervals[i].length == 2~ - ~0 <= start_{i} <= end_{i} <= 10^{4}~ ** TODO Approach Write your approach here. ** TODO Python #+begin_src python class Solution: def merge(self, intervals: List[List[int]]) -> List[List[int]]: #+end_src ** TODO C++ #+begin_src cpp class Solution { public: vector> merge(vector>& intervals) { } }; #+end_src