1
0
Fork 0
mirror of https://gitlab.com/mfocko/LeetCode.git synced 2024-09-19 09:46:57 +02:00
LeetCode/cs/insert-interval.cs
Matej Focko e9815ea0aa
cs: add «57. Insert Interval»
Signed-off-by: Matej Focko <mfocko@redhat.com>
2024-03-18 00:12:11 +01:00

27 lines
794 B
C#

using System.Collections.Generic;
public class Solution {
private static int[] Merge(int[] l, int[] r) {
return new int[] { Math.Min(l[0], r[0]), Math.Max(l[1], r[1]) };
}
public int[][] Insert(int[][] intervals, int[] newInterval) {
var newIntervals = new List<int[]>();
var i = 0;
for (; i < intervals.Length && intervals[i][1] < newInterval[0]; ++i) {
newIntervals.Add(intervals[i]);
}
for (; i < intervals.Length && newInterval[1] >= intervals[i][0]; ++i) {
newInterval = Merge(newInterval, intervals[i]);
}
newIntervals.Add(newInterval);
for (; i < intervals.Length; ++i) {
newIntervals.Add(intervals[i]);
}
return newIntervals.ToArray();
}
}