• 合并区间


    package my;
    
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    public class MergeIntervals {
        int[][] merge(int[][] intervals){
            Arrays.sort(intervals,(i1,i2) ->i1[0]-i2[0]);   //按照区间起始位置排序
           // Arrays.sort(intervals,(v1,v2) -> Integer.compare(v1[0],v2[0]));
            //定义一个previous变量,初始化为null
            int[] previous = null;
            //定义一个result变量,用来保存最终的区间结果
            List<int[]> result = new ArrayList<>();
            //从头开始遍历给定的所有区间
            for(int[] current : intervals){
                //如果这个是第一个区间,或者当前区间和前一个区间没有重叠,那么将当前区间加入到结果中
                if(previous == null || current[0] > previous[1]){
                    result.add(previous = current);
                }else{ //否则,两个区间发生了重叠,更新前一个区间的结束时间
                    previous[1] = Math.max(previous[1],current[1]);
                }
            }
            return result.toArray(new int[result.size()][]);
        }
    
        public static void main(String[] args){
            int[][] inte= {{1,4},{2,5},{6,9},{7,10},{11,45}};
            MergeIntervals mi = new MergeIntervals();
           int[][] aa= mi.merge(inte);
          for (int i=0 ;i <aa.length;i++){
              for(int j=0;j <aa[i].length;j++){
                  System.out.println(aa[i][j] +  " ");
              }
              System.out.println();
          }
        }
    }
  • 相关阅读:
    java.lang.UnsupportedOperationException: Not supported by BasicDataSource
    c# seo 百度sitemap书写
    c# 泛型原理(旧)
    apache 服务器配置常用知识点合集
    sass 基本常识
    c# TryParse
    webpack 配置热更新
    c# ref和out 详解
    IIS applicationHost.config 查找历史
    c# webapi 自定义返回数据
  • 原文地址:https://www.cnblogs.com/goodtest2018/p/13621804.html
Copyright © 2020-2023  润新知