直接拿到数据,根据 做左区间进行比较排序,然后记录可合并的最大值 与 全局最大值, 比较可合并最大值与全局最大值是否一致即可

java快读快写模板

参考代码:

import java.io.*;
import java.util.Arrays;
import java.util.Comparator;

public class Main {
   static int min=Integer.MAX_VALUE;
   static int max=Integer.MIN_VALUE;
   static int trueMax=Integer.MIN_VALUE;
   public static void main(String[] args) throws IOException {
       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
       PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
       StreamTokenizer in = new StreamTokenizer(br);
       in.nextToken();
       int n= (int) in.nval;
       int[][] arr= new int[n][2];
       for (int i = 0; i < n; i++) {
           in.nextToken();
           arr[i][0]= (int) in.nval;
           in.nextToken();
           arr[i][1]= (int) in.nval;
       }
       Arrays.sort(arr, Comparator.comparingInt(a -> a[0]));
       min=arr[0][0];
       max=arr[0][1];
       trueMax=arr[0][1];
       for (int i = 1; i < n; i++) {
           if (arr[i][1]>max &&arr[i][0]<=max){
               max=arr[i][1];
           }
           trueMax=Math.max(trueMax,arr[i][1]);
       }
       if (trueMax==max){
       out.println(arr[0][0]+" "+max);
       } else {
           out.println("no");
       }

       out.flush();
       out.close();
       br.close();
   }
}

点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论