class ArrayCompara implements Comparator<Object>
{
@Override
public int compare(Object o1, Object o2) {
int[] a=(int[]) o1;
int[] b=(int[]) o2;
if(a[0]>b[0])
return 1;
else if(a[0]<b[0])
{
return -1;
}
else
return 0;
}
}
public class Solution {
public static int[][] insert(int[][] intervals, int[] newInterval) {
// if(intervals.length==0) return intervals;
int [][] temp=new int[intervals.length+1][2];
temp[intervals.length][0]=newInterval[0];
temp[intervals.length][1]=newInterval[1];
System.arraycopy(intervals, 0, temp, 0, intervals.length);
intervals=temp;
Arrays.sort(intervals,0,intervals.length,new ArrayCompara());
int curIndex=0;
for(int i=1;i<intervals.length;i++)
{
if(intervals[curIndex][1]>=intervals[i][1])
continue;
else if(intervals[curIndex][1]>=intervals[i][0])
{
intervals[curIndex][1]=intervals[i][1];
}
else
{
curIndex++;
intervals[curIndex][0]=intervals[i][0];
intervals[curIndex][1]=intervals[i][1];
}
}
curIndex++;
int [][] ret=new int[curIndex][2];
System.arraycopy(intervals, 0, ret, 0, curIndex);
return ret;
}
}