lintcode算法题之920-会议室

22 篇文章 0 订阅

920. 会议室

给定一系列的会议时间间隔,包括起始和结束时间[[s1,e1],[s2,e2],…(si < ei),确定一个人是否可以参加所有会议。

样例

样例1

输入: intervals = [(0,30),(5,10),(15,20)]
输出: false
解释:
(0,30), (5,10) 和 (0,30),(15,20) 这两对会议会冲突

样例2

输入: intervals = [(5,8),(9,15)]
输出: true
解释:
这两个时间段不会冲突

 

代码区:

 
public class Solution {
    /**

    * username:softstarhhy
     * @param intervals: an array of meeting time intervals
     * @return: if a person could attend all meetings
     */
    public boolean canAttendMeetings(List<Interval> intervals) {
        // Write your code here
             List list=intervals;
             boolean flag=true;
             int globals=0;
             if(intervals.size()==0)
             {
                 flag=true;
                 return flag;
             }
             for (int i=0;i<list.size()-1 ;i++ )
             { 
                 
               
                 if(flag==false)
                 {
                     break;
                 }else
                 {
                     flag=true;
                 }
                 if(i==list.size()-1)
                 {
                     flag=flag;
                     break;
                 }
                 for(int j=i+1;j<list.size();j++)
                 {
                    // System.out.println( list.get(i).getClass().getDeclaredField("start"));
                    //  System.out.println((Interval)list.get(i));
                    Interval interval=(Interval)list.get(i);
                    Interval interval2=(Interval)list.get(j);
                     int beforestart=interval.start;
                     int beforeend=interval.end;
                       int start=interval2.start;
                         int end=interval2.end;
             if((beforeend<=start)||(beforestart>=end))
                     {
                         
                         flag=true;
                         globals++;
                     }else
                     {
                         flag=false;
                       
                         globals++;
                           break;
                     }
                     
                 }
             }
             return flag;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值