(GREEDY) N meetings in one room
unknown
java
10 months ago
1.0 kB
12
Indexable
class Pair {
int start;
int end;
Pair(int start, int end) {
this.start = start;
this.end = end;
}
}
class Solution {
// Function to find the maximum number of meetings that can
// be performed in a meeting room.
public int maxMeetings(int start[], int end[]) {
Pair[] pairs = new Pair[start.length];
for (int i = 0; i < start.length; i++) {
pairs[i] = new Pair(start[i], end[i]);
}
// Step 2: Sort pairs based on the end values
Arrays.sort(pairs, Comparator.comparingInt(p -> p.end));
for (int i = 0; i < start.length; i++) {
start[i] = pairs[i].start;
end[i] = pairs[i].end;
}
int prev_end = end[0], ans = 1;
for(int i=1;i<start.length;++i)
{
if(start[i] > prev_end)
{
ans++;
prev_end = end[i];
}
}
return ans;
}
}Editor is loading...
Leave a Comment