252. Meeting Rooms
题目:
Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...]
(si < ei), determine if a person could attend all meetings.
For example,
Given [[0, 30],[5, 10],[15, 20]]
,
return false
.
链接: http://leetcode.com/problems/meeting-rooms/
3/4/2017
这道题本来以为需要用interval search,还强迫把算法看了一遍。但是easy题不应该这么难啊。
借鉴别人的答案:
其中关于sort的写法参考了这个帖子:
http://stackoverflow.com/questions/21970719/java-arrays-sort-with-lambda-expression
对Java语言非常不熟悉啊,需要最后好好看一下Java的常用接口
1 /** 2 * Definition for an interval. 3 * public class Interval { 4 * int start; 5 * int end; 6 * Interval() { start = 0; end = 0; } 7 * Interval(int s, int e) { start = s; end = e; } 8 * } 9 */ 10 public class Solution { 11 public boolean canAttendMeetings(Interval[] intervals) { 12 if (intervals.length <= 1) return true; 13 Arrays.sort(intervals, (Interval a, Interval b) -> a.start - b.start); 14 15 for (int i = 1; i < intervals.length; i++) { 16 if (intervals[i].start < intervals[i-1].end) return false; 17 } 18 return true; 19 } 20 }