Merge Intervals

https://www.lintcode.com/problem/merge-intervals/description

簡單死了拉,我已經進化到秒殺階段!!

此題要注意的是 comparator 的寫法

public List<Interval> merge(List<Interval> intervals) {
    List<Interval> result = new ArrayList<>();
    if (intervals == null || intervals.size() == 0) {
        return result;
    }

    Collections.sort(intervals, new Comparator<Interval>(){
        public int compare(Interval i1, Interval i2) {
            return i1.start - i2.start;
        }
    });

    Interval comp = intervals.get(0);
    for (int i=1; i<intervals.size(); i++) {
        Interval temp = intervals.get(i);
        if (temp.start <= comp.end) {
            comp.end = Math.max(comp.end, temp.end);
        } else {
            result.add(comp);
            comp = temp;
        }
    }

    result.add(comp);
    return result;
}

results matching ""

    No results matching ""