每一个线段都有start和end两个数据项,表示这条线段在X轴上从start位置开始到end位置结束。给定一批线段,求所有重合区域中最多重合了几个线段。

区块链毕设网qklbishe.com为您提供问题的解答

每一个线段都有start和end两个数据项,表示这条线段在X轴上从start位置开始到end位置结束。给定一批线段,求所有重合区域中最多重合了几个线段。

每一个线段都有start和end两个数据项,表示这条线段在X轴上从start位置开始到end位置结束。给定一批线段,求所有重合区域中最多重合了几个线段。
每一个线段都有start和end两个数据项,表示这条线段在X轴上从start位置开始到end位置结束。给定一批线段,求所有重合区域中最多重合了几个线段。

import java.util.Arrays; import java.util.Comparator; import java.util.PriorityQueue; import java.util.Scanner;  public class Main {     public static void main(String[] args) {         Scanner sc = new Scanner(System.in);         int time = sc.nextInt();         int[][] times = new int[time][2];         for(int i=0;i<time;i++){             times[i][0] = sc.nextInt();             times[i][1] = sc.nextInt();         }         Arrays.sort(times, new Comparator<int[]>() {             @Override             public int compare(int[] o1, int[] o2) {                 return o1[0]-o2[0];             }         });          PriorityQueue<int[]> queue = new PriorityQueue<>(new Comparator<int[]>() {             @Override             public int compare(int[] o1, int[] o2) {                 return o1[1]-o2[1];             }         });         int maxSize = 1;         queue.add(times[0]);         for(int i=1;i<times.length;i++){             while(!queue.isEmpty()){                 int[] peek = queue.peek();                 if(peek[1]<times[i][0]){                     queue.poll();                 }else{                     break;                 }             }             queue.add(times[i]);             maxSize = Math.max(maxSize,queue.size());         }          System.out.println(maxSize);     } }   

52:34

以上就是关于问题每一个线段都有start和end两个数据项,表示这条线段在X轴上从start位置开始到end位置结束。给定一批线段,求所有重合区域中最多重合了几个线段。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 每一个线段都有start和end两个数据项,表示这条线段在X轴上从start位置开始到end位置结束。给定一批线段,求所有重合区域中最多重合了几个线段。