• Range of Intervals


    Given a list of tuples representing intervals, return the range these intervals 
    covered. 
    e.g: 
    [(1,3), (2,5),(8,9)] should return 5

    和 merge interval非常类似

    public class Solution {
        public List<Interval> merge(List<Interval> intervals) 
        {
            if (intervals == null || intervals.size() <= 1) {
                return intervals;
            }
            Collections.sort(intervals, new IntervalComparator());
    
            int range = 0;
            int i=0;
            while(i<intervals.size())
            {
                Interval newint = new Interval();
                int newstart = intervals.get(i).start;
                int newend = intervals.get(i).end;
                int j=i+1;
                while(j<intervals.size()&&newend>=intervals.get(j).start)
                {
                    newend = Math.max(newend,intervals.get(j).end);
                    j++;
                }
                newint.start=newstart;
                newint.end=newend;
                range + = newint.end-newint.start;
                if(j!=i+1) i=j;
                else i++;
            }
            return range;
        }
        
            private class IntervalComparator implements Comparator<Interval> {
            public int compare(Interval a, Interval b) {
                return a.start - b.start;
            }
        }
    }
  • 相关阅读:
    Razor 常用又容易忘记语法
    游览器 reflow
    正则表达式
    migration to end point routing
    js 翻译 c# 注意事项
    Angular 学习笔记 work with excel (导出 excel)
    html4,5 basic
    IIS 服务器配置
    meta 的用途
    正则表达 常用
  • 原文地址:https://www.cnblogs.com/hygeia/p/5154462.html
Copyright © 2020-2023  润新知