56. 合并区间-LeetCode

56. 合并区间-LeetCode

心得:创建一个新数组,把第一条记录填进去,不断合并比较

感觉不是很满意,后面继续需改。

class Solution {
      public int[][] merge(int[][] intervals) {
           ArrayList<int[]> list=new ArrayList<>();
            if(intervals==null||intervals.length==0)
                return new int[0][0];
          // LinkedList<int[]> list=new LinkedList<>();
           Arrays.sort(intervals,new Comparator<int[]>()
           {
               @Override
               public int compare(int[] a,int[] b)
               {
                       return a[0]-b[0];
               }
           });
           list.add(intervals[0]);
          for(int i=1;i<intervals.length;i++)
          {
              if(intervals[i][0]<=list.get(list.size()-1)[1])
              {
                  if(intervals[i][1]>=list.get(list.size()-1)[1])
                      list.get(list.size()-1)[1]=intervals[i][1];               
              }
              else
                  list.add(intervals[i]);
            }
      int[][] arr=new int[list.size()][2];
     for(int i=0;i<list.size();i++)
     {
         arr[i][0]=list.get(i)[0];
         arr[i][1]=list.get(i)[1];
     }
     return arr;
        }
    
}

 

上一篇:为什么php datetime diff取决于时区?


下一篇:Java:如何索引具有关联间隔的元素?