public static int[][] merge(int[][] intervals) {
if (intervals.length <= 1) return intervals;
Arrays.sort(intervals, Comparator.comparingInt(a -> a[0]));
List<int[]> result = new ArrayList<>();
int[] newInterval = intervals[0];
result.add(newInterval);
for (int[] interval : intervals) {
if (interval[1] >= newInterval[0]) newInterval[1] = Math.max(interval[1], newInterval[1]);
else {
newInterval = interval;
result.add(newInterval);
}
}
return result.toArray(new int[result.size()][]);
}
public static void main(String[] args) {
int[][] intervals = {{1, 3}, {2, 6}, {8, 10}, {15, 18}};
System.out.println(merge(intervals));
}
Hello, I am trying to test out my code / debug it a bit.. when I run it this is my output : [[I@24d46ca6 how do i avoid this and get a 2d array output?