57. Insert Interval
class Solution {
public int[][] insert(int[][] intervals, int[] newInterval) {
List<int[]> res = new LinkedList<int[]>();
for(int[] interval : intervals){
if(newInterval != null && interval[1]<newInterval[0]){
res.add(interval);
}else if (newInterval!=null && !(interval[1]<newInterval[0]) && !(newInterval[1]<interval[0])){
newInterval[0] = Math.min(interval[0], newInterval[0]);
newInterval[1] = Math.max(interval[1], newInterval[1]);
}else if (newInterval != null){
res.add(newInterval);
newInterval=null;
res.add(interval);
}else{
res.add(interval);
}
}
if (newInterval != null) res.add(newInterval);
return res.toArray(new int[res.size()][]);
}
}
Last updated
Was this helpful?