题目描述
图书馆占位的很厉害,只要去晚了一会就没有位置了。有些人占着位置却不来自习,这就造成了资源的浪费。现在我们的问题是一天当中有n个同学可能会来到同一个座位,假设上面有人则另外找座位,若没有人,则就可以占据此位置,直至你离开为止。为了最大化利用图书馆资源,我们要求的问题是一个位置最多能够被几个同学来用过。
输入
多组测试数据
第一行为n个同学 (1 <=n<=10000)
接下来n行就是每个同学的进入图书馆的时间和离开图书馆的时间,为了简化问题,我们假设时间值为整数。
输出
输出一个座位最多被几位同学占据。
样例输入
6 1 3 2 4 3 6 7 9 5 7 10 11
样例输出
4
import java.util.Arrays; import java.util.Collections; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int n=cin.nextInt(); int [][]a=new int[n][2]; int []b=new int[n]; for(int i=0;i<n;i++){ for(int j=0;j<2;j++){ a[i][j]=cin.nextInt(); } } for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ if(a[j][0]>-a[i][1]){ b[i]++; } } } Arrays.sort(b); System.out.println(b[b.length-1]); cin.close(); } }