题目描述:
给定 n 个闭区间 [ai; bi],其中i=1,2,...,n。任意两个相邻或相交的闭区间可以合并为一个闭区间。例如,[1;2] 和 [2;3] 可以合并为 [1;3],[1;3] 和 [2;4] 可以合并为 [1;4],但是[1;2] 和 [3;4] 不可以合并。
我们的任务是判断这些区间是否可以最终合并为一个闭区间,如果可以,将这个闭区间输出,否则输出no。
代码:
package lanqiao;import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] a = new int[10004];int[] b = new int[100006];int i = 0;while(n-- > 0){int x = sc.nextInt();int y = sc.nextInt();b[i] = x;i ++;b[i] = y;for(int j = x;j <= y;j ++){a[j] = 1;}i ++;}Arrays.sort(b,0,i);int flag = 0;for(int j = b[0];j <= b[i - 1];j ++){if(a[j] == 0){flag = 1;break;}}if(flag == 0){System.out.println(b[0] + " " + b[i - 1]);}else{System.out.println("no");}}
}