首页 > 其他 > 详细

56. 合并区间-LeetCode

时间:2019-06-22 22:56:20      阅读:118      评论:0      收藏:0      [点我收藏+]

技术分享图片

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

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

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;
        }
    
}

 

56. 合并区间-LeetCode

原文:https://www.cnblogs.com/pc-m/p/11070700.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!