1. Problem Statement (Simple Explanation) You are given: A sorted array of non-overlapping intervals: intervals[i] = [start_i, end_i] sorted by start_i ascending. A new interval: newInterval = [start, end]. You must: Insert newInterval into intervals. Keep the array: sorted by start non-overlapping (merge where necessary) Return the resulting list (you can allocate a new array). 2. Examples Example 1: Input: intervals = [[1,3],[6,9]] newInterval = [2,5] [1,3] and [2,5] overlap → merge into [1,5]. [6,9] does not overlap. Output: [[1,5],[6,9]] Example 2: Input: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]] newInterval = [4,8] Overlaps: [3,5] with [4,8] [6,7] with [4,8] [8,10] with [4,8] All merged into one interval [3,10]. Output: [[1,2],[3,10],[12,16]] 3. Approach – Linear Scan with Three Phases Since intervals is sorted and non-overlapping, we can insert and merge in o...