We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent aab9310 commit 5a3482dCopy full SHA for 5a3482d
1 file changed
insert-interval/Jeehay28.ts
@@ -0,0 +1,31 @@
1
+// TC: O(n)
2
+// SC: O(n)
3
+function insert(intervals: number[][], newInterval: number[]): number[][] {
4
+ const result: number[][] = [];
5
+ const n = intervals.length;
6
+ let i = 0;
7
+
8
+ // Add all intervals that come before newInterval
9
+ while (i < n && intervals[i][1] < newInterval[0]) {
10
+ result.push(intervals[i]);
11
+ i++;
12
+ }
13
14
+ // Merge all overlapping intervals with newInterval
15
+ while (i < n && intervals[i][0] <= newInterval[1]) {
16
+ newInterval[0] = Math.min(intervals[i][0], newInterval[0]);
17
+ newInterval[1] = Math.max(intervals[i][1], newInterval[1]);
18
19
20
21
+ result.push(newInterval);
22
23
+ // Add remaining intervals after newInterval
24
+ while (i < n) {
25
26
27
28
29
+ return result;
30
+}
31
0 commit comments