File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public int [][] merge (int [][] intervals ) {
3
+ int [] pair =new int [2 ];
4
+ int size =intervals .length ;
5
+ List <int []> result =new ArrayList <>();
6
+ Arrays .sort (intervals ,new java .util .Comparator <int []>() {
7
+ public int compare (int [] a , int [] b ) {
8
+ return Integer .compare (a [0 ], b [0 ]);
9
+ }
10
+ });
11
+ pair =intervals [0 ];
12
+ for (int i =0 ;i <size ;i ++){
13
+ if (pair [1 ]>=intervals [i ][0 ] && i !=0 ){
14
+ pair [0 ]=Math .min (pair [0 ],intervals [i ][0 ]);
15
+ pair [1 ]=Math .max (pair [1 ],intervals [i ][1 ]);
16
+ }
17
+ else if (i !=0 ){
18
+ result .add (new int []{pair [0 ],pair [1 ]});
19
+ pair =intervals [i ];
20
+ }
21
+ }
22
+ result .add (new int []{pair [0 ],pair [1 ]});
23
+ int [][] merged =new int [result .size ()][2 ];
24
+ for (int j =0 ;j <result .size ();j ++){
25
+ merged [j ]=result .get (j );
26
+ }
27
+ return merged ;
28
+ }
29
+ }
You can’t perform that action at this time.
0 commit comments