LeetCode – Meeting Rooms (Java)

Given an array of meeting time intervals consisting of start and end times [s1, e1], [s2, e2], ... , determine if a person could attend all meetings.

For example,
Given [ [0, 30], [5, 10], [15, 20] ],
return false.

Java Solution

If a person can attend all meetings, there must not be any overlaps between any meetings. After sorting the intervals, we can compare the current end and next start.

 public boolean canAttendMeetings(Interval[] intervals) { Arrays.sort(intervals, new Comparator(){ public int compare(Interval a, Interval b){ return a.start-b.start; } });   for(int i=0; iintervals[i+1].start){ return false; } }   return true; }
Category >> Algorithms
If you want someone to read your code, please put the code inside <pre><code> and </code></pre> tags. For example:
<pre><code>
String foo = "bar";
</code></pre>
• Saarth Vikram Jhaveri

bucket sort could only be used if the start and end time constraisn were bound to <=1e7 , but in the question the constrains were <=1e9 , so we have to use sorting acc to start time + 2 pointer methods !

• alexwest11

i guess people like to sort too much!!!

use bucket sort 1..24
mark start time as positive, mark end time as negative

obv, it must be +- +-…

if end meeting same as start other meeting , i guess it is overlap