253 Meeting Rooms II - Medium
Problem:
Thoughts:
Solutions:
/**
* Definition for an interval.
* public class Interval {
* int start;
* int end;
* Interval() { start = 0; end = 0; }
* Interval(int s, int e) { start = s; end = e; }
* }
*/
public class Solution {
class IntervalComparator implements Comparator<Interval> {
@Override
public int compare(Interval i1, Interval i2) {
return i1.start - i2.start;
}
}
public int minMeetingRooms(Interval[] intervals) {
List<Interval> rooms = new LinkedList<Interval>();
if (intervals.length == 0) {
return 0;
}
Arrays.sort(intervals, new IntervalComparator());
rooms.add(intervals[0]);
for (int i = 1; i < intervals.length; i ++) {
boolean found = false;
for (Interval inter:rooms) {
if (intervals[i].start >= inter.end) {
inter.end = intervals[i].end;
found = true;
break;
}
}
if (found == false) {
rooms.add(intervals[i]);
}
}
return rooms.size();
}
}Last updated