Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 6ms /Your runtime beats 88.61 % of java submissions
- class Solution {
- public int[][] merge(int[][] intervals) {
- LinkedList<int[]> q = new LinkedList<>(Arrays.asList(intervals));
- ArrayList<int[]> r = new ArrayList<>();
- while (!q.isEmpty()){
- int[] i = q.remove();
- boolean merged;
- do{
- merged = false;
- Iterator<int[]> it = q.iterator();
- while (it.hasNext()) {
- int[] j = it.next();
- if (j[0] <= i[1] && j[1] >= i[0]) {
- if (j[0] < i[0]) i[0] = j[0];
- if (j[1] > i[1]) i[1] = j[1];
- it.remove();
- merged = true;
- }
- }
- } while (merged);
- r.add(i);
- }
- return r.toArray(new int [r.size()][2]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement