Java统计无交加区间的最多个数(运用:如一天之内预约最多的客户)

Java统计无交集区间的最多个数(运用:如一天之内预约最多的客户)

import java.util.Scanner;


public class Tesww {
 public static void main(String[] args){
  Scanner reader=new Scanner(System.in);
  int n=reader.nextInt();
  int [][]a =new int[n][2];
  for(int i=0;i<n;i++){
   for(int j=0;j<2;j++){
    a[i][j]=reader.nextInt();
   }
  }
  Sort(a,n); //按区间胡右边界排序
  
  int count=1;
  int [][]result =new int [n][2];
  int max=a[0][1];
  result[0][1]=a[0][1];
  result[0][0]=a[0][0];
  for(int i=1;i<n;i++){
   if(a[i][0]<max){
    continue;
   }
   else{
    max=a[i][1];
    result[count][0]=a[i][0];
    result[count][1]=a[i][1];
    count++;
   }
  }
  
  System.out.println("最多"+count+"个不重复区间:");
  for(int i=0;i<count;i++){
   System.out.println("【"+result[i][0]+" "+result[i][1]+"】");
  }
 }
 public static void Sort(int[][] a ,int n){
  for(int i=0;i<n;i++){
   for(int j=i;j<n;j++){
    if(a[j][1]<a[i][1]){
     int temp[]=new int [2];
     temp=a[j];
     a[j]=a[i];
     a[i]=temp;
     
    }
   }
  }
  
 }
 

 

}