Merge Intervals

来源:互联网 发布:教师网络研修计划 编辑:程序博客网 时间:2024/06/13 14:09
//    public List<Interval> merge(List<Interval> intervals) {//        List<Interval> res = new LinkedList<>();//        if (intervals == null) {//            return res;//        }//        if (intervals.size() <= 1) {//            return intervals;//        }//        Collections.sort(intervals, new Comparator<Interval>(){//            @Override//            public int compare(Interval a, Interval b){//                return a.start - b.start;//            }//        });//        for (int i = 0; i < intervals.size() - 1; i++) {//            Interval i1 = intervals.get(i);//            Interval i2 = intervals.get(i + 1);//            if (i1.end < i2.start) {//                res.add(i1);//                if (i + 2 == intervals.size()) {//                    res.add(i2);//                }//            } else {//                Interval merge = new Interval(i1.start, Math.max(i1.end, i2.end));//                if (i + 2 == intervals.size()) {//                    res.add(merge);//                } else {//                    i2.start = merge.start;//                    i2.end = merge.end;//                }//            }//        }//        return res;//    }

0 0
原创粉丝点击