zoukankan      html  css  js  c++  java
  • 1133 不重叠的线段(贪心)

    X轴上有N条线段,每条线段有1个起点S和终点E。最多能够选出多少条互不重叠的线段。
    (注:起点或终点重叠,不算重叠)。例如:[1 5][2 3][3 6],可以选[2 3][3 6],这2条线段互不重叠。

    思路:

    以结束时间排序,最先结束就可以更早的开始,这样才会更多的进行任务

    代码:

    package _51_node.greedy;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.Scanner;
    
    public class ex_1133 {
        /**
         * 1133 不重叠的线段
         * 1 秒  131,072 KB 10 分 2 级题
         * X轴上有N条线段,每条线段有1个起点S和终点E。最多能够选出多少条互不重叠的线段。
         * (注:起点或终点重叠,不算重叠)。例如:[1 5][2 3][3 6],可以选[2 3][3 6],这2条线段互不重叠。
         *
         *
         * @param args
         */
        public static void main(String[] args) {
            Scanner cin = new Scanner(System.in);
            int n = cin.nextInt();
            ArrayList<Point> arrayList = new ArrayList<>();
            for (int i = 1; i <= n; i++) {
                int a = cin.nextInt();
                int b = cin.nextInt();
                arrayList.add(new Point(a, b));
            }
            cin.close();
            Collections.sort(arrayList, new Comparator<Point>() {
                @Override
                public int compare(Point o1, Point o2) {
                    return o1.end - o2.end;
                }
            });
            long ans = 0, t = (long)-1e9;
    
            for (int i = 0; i < arrayList.size(); i++) {
                if(arrayList.get(i).start >= t) {
                    t = arrayList.get(i).end;
                    ans++;
                }
            }
            System.out.println(ans);
        }
    
        static class Point {
            int start;
            int end;
    
    
            public Point(int start, int end) {
                this.start = start;
                this.end = end;
    
            }
        }
    }
    
    
  • 相关阅读:
    EntityFramework4.5使用Expression类创建动态查询及动态查询导航属性
    EF 5.0 帮助类
    EF异常:“System.InvalidOperationException”类型的未经处理的异常在 mscorlib.dll 中发生
    EF框架学习手记
    Entity Framework 学习
    C#特性-表达式树
    LINQ to SQL 运行时动态构建查询条件
    一点css 基础
    JQuery 判断复选框是否选中
    Asp.Net Server.MapPath()用法
  • 原文地址:https://www.cnblogs.com/somliy/p/10019810.html
Copyright © 2011-2022 走看看