Merge Intervals Leet code solution
import java.util.*;
class Solution {
public int[][] merge(int[][] intervals) {
Arrays.sort(intervals, (a, b) -> Integer.compare(a[0],b[0]));
HashMap<Integer,Integer> hp=new HashMap<>();
int a =intervals[0][0];
int b=intervals[0][1];
int flag=0;
for(int x=1;x<intervals.length;x++)
{
if(intervals[x][0]<=b)
{
if(intervals[x][1]>b)
{
b=intervals[x][1];
}
if(x==intervals.length-1)
{
flag=1;
}
else
{
continue;
}
}
hp.put(a,b);
a=intervals[x][0];
b=intervals[x][1];
}
if(flag==0)
{
hp.put(a,b);
}
int l=hp.size();
int i=0;
int result[][]=new int[l][2];
for (Map.Entry<Integer, Integer> e : hp.entrySet())
{ result[i][0]=e.getKey();
result[i][1]=e.getValue();
i++;
}
return result;
}
}
Comments
Post a Comment