MCPcopy Create free account
hub / github.com/neetcode-gh/leetcode / merge

Method merge

java/0056-merge-intervals.java:3–21  ·  view source on GitHub ↗
(int[][] intervals)

Source from the content-addressed store, hash-verified

1class Solution {
2
3 public int[][] merge(int[][] intervals) {
4 ArrayList<int[]> ans = new ArrayList<>();
5 Arrays.sort(intervals, (a, b) -> Integer.compare(a[0], b[0]));
6 ans.add(intervals[0]);
7 for (int i = 1; i < intervals.length; i++) {
8 //comparing the values of prevEnd and curStart
9 int curStart = intervals[i][0];
10 if (curStart <= ans.get(ans.size() - 1)[1]) {
11 //do the merging
12 ans.get(ans.size() - 1)[1] =
13 Math.max(ans.get(ans.size() - 1)[1], intervals[i][1]);
14 } else {
15 ans.add(intervals[i]);
16 }
17 }
18 int[][] res = new int[ans.size()][2];
19 ans.toArray(res);
20 return res;
21 }
22}

Callers

nothing calls this directly

Calls 4

compareMethod · 0.45
addMethod · 0.45
getMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected