Skip to content

Commit d0b87b7

Browse files
refactor 56
1 parent 84fdada commit d0b87b7

File tree

1 file changed

+18
-26
lines changed
  • src/main/java/com/fishercoder/solutions

1 file changed

+18
-26
lines changed
Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,34 @@
11
package com.fishercoder.solutions;
22

33
import com.fishercoder.common.classes.Interval;
4+
45
import java.util.ArrayList;
56
import java.util.Collections;
67
import java.util.List;
78

8-
/**
9-
* 56. Merge Intervals
10-
*
11-
* Given a collection of intervals, merge all overlapping intervals.
12-
13-
For example,
14-
Given [1,3],[2,6],[8,10],[15,18],
15-
return [1,6],[8,10],[15,18].
16-
*/
179
public class _56 {
1810

19-
public static class Solution1 {
20-
public List<Interval> merge(List<Interval> intervals) {
21-
if (intervals.size() <= 1) {
22-
return intervals;
23-
}
11+
public static class Solution1 {
12+
public List<Interval> merge(List<Interval> intervals) {
13+
if (intervals.size() <= 1) {
14+
return intervals;
15+
}
2416

25-
Collections.sort(intervals, (o1, o2) -> o1.start - o2.start);
17+
Collections.sort(intervals, (o1, o2) -> o1.start - o2.start);
2618

27-
List<Interval> result = new ArrayList();
28-
for (int i = 0; i < intervals.size(); i++) {
29-
int start = intervals.get(i).start;
30-
int end = intervals.get(i).end;
31-
while (i < intervals.size() && end >= intervals.get(i).start) {
32-
end = Math.max(end, intervals.get(i).end);
33-
i++;
19+
List<Interval> result = new ArrayList();
20+
for (int i = 0; i < intervals.size(); i++) {
21+
int start = intervals.get(i).start;
22+
int end = intervals.get(i).end;
23+
while (i < intervals.size() && end >= intervals.get(i).start) {
24+
end = Math.max(end, intervals.get(i).end);
25+
i++;
26+
}
27+
result.add(new Interval(start, end));
28+
i--;
3429
}
35-
result.add(new Interval(start, end));
36-
i--;
30+
return result;
3731
}
38-
return result;
3932
}
40-
}
4133

4234
}

0 commit comments

Comments
 (0)