You are given an array of non-overlapping intervals ~intervals~ where ~intervals[i] = [start_{i}, end_{i}]~ represent the start and the end of the ~i^{th}~ interval and ~intervals~ is sorted in ascending order by ~start_{i}~. You are also given an interval ~newInterval = [start, end]~ that represents the start and end of another interval.
Insert ~newInterval~ into ~intervals~ such that ~intervals~ is still sorted in ascending order by ~start_{i}~ and ~intervals~ still does not have any overlapping intervals (merge overlapping intervals if necessary).
Return ~intervals~/ after the insertion/.
*Note* that you don't need to modify ~intervals~ in-place. You can make a new array and return it.