假设a区间[0,1],b区间[0,2],则b区间可以完全覆盖a区间,给你任意多的区间,判断是否存在任意两个区间是可以完全覆盖的(存在覆盖即可)输出true ,false
4
1 10
4 15
7 9
5 18
//自己的例子
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
Node[] nodes = new Node[N];
for (int i = 0; i < N; i++) {
nodes[i] = new Node();
nodes[i].start = scanner.nextInt();
nodes[i].end = scanner.nextInt();
}
Arrays.sort(nodes, new Comparator<Node>() {
@Override
public int compare(Node o1, Node o2) {
if (o1.start == o2.start){
return o1.end - o2.end;
}
return o1.start - o2.start;
}
});
//因为当前左边界一定小于上一个的左边界,只需要寻找最大右边界即可
int pre = -1;
for (int i = 1; i < N; i++) {
if (nodes[i].end <= pre){
System.out.println(true);
break;
}else {
pre = Math.max(pre,nodes[i].end);
}
}
}
}
class Node{
int start;
int end;
}