Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static int howManyAgentsToAdd(int noOfCurrentAgents, int[][] callsTimes) {
- if(callsTimes == null || callTimes.length == 0) return 0;
- int n = callsTime.length;
- int[] start = new int[n];
- int[] end = new int[n];
- for(int i=0;i<n;i++) {
- start[i] = callsTimes[i][0];
- end[i] = callsTimes[i][1];
- }
- int ans = maxOverlapIntervalCount( start, end );
- return Math.max(0, ans-noOfCurrentAgents);
- }
- public static int maxOverlapIntervalCount(int[] start, int[] end){
- int maxOverlap = 0;
- int currentOverlap = 0;
- Arrays.sort(start);
- Arrays.sort(end);
- int i = 0;
- int j = 0;
- int m=start.length,n=end.length;
- while(i< m && j < n){
- if(start[i] < end[j]){
- currentOverlap++;
- maxOverlap = Math.max(maxOverlap, currentOverlap);
- i++;
- }
- else{
- currentOverlap--;
- j++;
- }
- }
- return maxOverlap;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement