zoukankan      html  css  js  c++  java
  • non-overlapping-intervals

    https://leetcode.com/problems/non-overlapping-intervals/

    其中还用到了Java的Comparator接口和其中的compare方法。

    package com.company;
    
    import java.util.*;
    
    class Interval {
            int start;
            int end;
            Interval() { start = 0; end = 0; }
            Interval(int s, int e) { start = s; end = e; }
    }
    
    
    class Solution {
        class IntervalComp implements Comparator {
    
            @Override
            public int compare(Object o1, Object o2) {
                Interval i1 = (Interval)o1;
                Interval i2 = (Interval)o2;
                return i1.start - i2.start;
            }
        }
    
        public int eraseOverlapIntervals(Interval[] intervals) {
            if (intervals.length == 0) {
                return 0;
            }
    
            Arrays.sort(intervals, new IntervalComp());
    
            int ret = 0;
            int last = intervals[0].end;
            for (int i=1; i<intervals.length; i++) {
                if (intervals[i].start >= last) {
                    last = intervals[i].end;
                    continue;
                }
                if (intervals[i].end >= last) {
                    ret++;
                }
                else {
                    ret++;
                    last = intervals[i].end;
                }
            }
            return ret;
        }
    }
    
    public class Main {
    
        public static void main(String[] args) throws InterruptedException {
    
            System.out.println("Hello!");
            Solution solution = new Solution();
    
            Interval[] it = new Interval[2];
            it[0] = new Interval(1, 2);
            it[1] = new Interval(2, 3);
            int ret = solution.eraseOverlapIntervals(it);
            System.out.printf("Get ret: %d
    ", ret);
            System.out.println();
    
            /*Iterator<List<Integer>> iterator = ret.iterator();
            while (iterator.hasNext()) {
                Iterator iter = iterator.next().iterator();
                while (iter.hasNext()) {
                    System.out.printf("%d,", iter.next());
                }
                System.out.println();
            }*/
    
            System.out.println();
    
        }
    }
  • 相关阅读:
    leetcode821
    leetcode872
    leetcode700
    leetcode806
    2019-9-2-win10-uwp-右击浮出窗在点击位置
    2019-9-2-win10-uwp-打包第三方字体到应用
    2019-10-18-dotnet-文件读写务必注意事项
    2018-8-10-win10-uwp-如何创建修改保存位图
    2018-8-9-win10-uwp-装机必备应用-含源代码
    2019-11-1-asp-dotnet-core-简单开发P2P中央服务器
  • 原文地址:https://www.cnblogs.com/charlesblc/p/6017623.html
Copyright © 2011-2022 走看看