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

Popular Posts