区间问题
【题目描述】
AcWing 905. 区间选点
类似题目
AcWing 112. 雷达设备
【思路】
每一个区间就是一条线段,将区间按终点从小到大排序。
当该线段与上一条线段没有重合的地方即要加入新的点。
import java.util.Scanner;
import java.util.Arrays;
class Node implements Comparable<Node>{
int a, b;
public Node(int aa, int bb){
a = aa;
b = bb;
}
public int compareTo(Node o){
return this.b - o.b;
}
}
public class Main{
static int N = 100010;
static Node f[] = new Node[N];
public static void main(String args[]){
Scanner reader = new Scanner(System.in);
int n = reader.nextInt();
for(int i = 0; i < n; i++){
int x = reader.nextInt(), y = reader.nextInt();
f[i] = new Node(x, y);
}
Arrays.sort(f, 0, n);
int res = 1, t = f[0].b;
for(int i = 1; i < n; i++){
//此处是小于等于 包括等于哈
if(f[i].a <= t) continue;
t = f[i].b;
res ++;
}
System.out.println(res);
}
}