【每日一题Day209】LC2446判断两个事件是否存在冲突

简介: 【每日一题Day209】LC2446判断两个事件是否存在冲突

判断两个事件是否存在冲突【LC2446】

给你两个字符串数组event1event2 ,表示发生在同一天的两个闭区间时间段事件,其中:

  • event1 = [startTime1, endTime1]
  • event2 = [startTime2, endTime2]

事件的时间为有效的 24 小时制且按 HH:MM 格式给出。

当两个事件存在某个非空的交集时(即,某些时刻是两个事件都包含的),则认为出现 冲突

如果两个事件之间存在冲突,返回 true ;否则,返回 false

今天还是阳 还不能出去 哎…

  • 思路
    将时间转化为分钟形式,然后判断是否有交叉,如果有返回true,如果没有返回false
  • 实现
class Solution {
    public boolean haveConflict(String[] event1, String[] event2) {
        int start1 = convert(event1[0]), end1 = convert(event1[1]);
        int start2 = convert(event2[0]), end2 = convert(event2[1]);
        return !(end1 < start2 || end2 < start1);
    }
    public int convert(String time){
        int h = Integer.valueOf(time.substring(0,2));
        int m = Integer.valueOf(time.substring(3,5));
        return h * 60 + m;
    }
}

image.png

目录
相关文章
|
6月前
【每日一题Day345】LC2562找出数组的串联值 | 模拟
【每日一题Day345】LC2562找出数组的串联值 | 模拟
41 0
|
6月前
【每日一题Day191】LC2423删除字符使频率相同 | 枚举 分类讨论
【每日一题Day191】LC2423删除字符使频率相同 | 枚举 分类讨论
49 0
|
6月前
【每日一题Day119】LC1250检查好数组 | 数学
【每日一题Day119】LC1250检查好数组 | 数学
46 0
|
算法
【代码随想录】LC 27. 移除元素
利用两层循环,第一层循环找到值等于val的元素,第二层循环“移除元素”。(数组移除元素就是将该位置后面的元素依次向前移动一个位置,从而达到“移除”的效果,注意移动的顺序:应该从待移动序列前往后依次向前移动,否则会造成数组元素值“丢失”)
57 0
|
6月前
【每日一题Day308】LC57插入区间 | 模拟
【每日一题Day308】LC57插入区间 | 模拟
46 0
|
6月前
【每日一题Day195】LC1003检查替换后的词是否有效 | 栈
【每日一题Day195】LC1003检查替换后的词是否有效 | 栈
42 0
|
6月前
【每日一题Day353】LC2525根据规则将箱子分类 | 模拟
【每日一题Day353】LC2525根据规则将箱子分类 | 模拟
29 0
|
6月前
|
测试技术 索引
【每日一题Day296】LC833字符串中的查找与替换 | 排序+模拟
【每日一题Day296】LC833字符串中的查找与替换 | 排序+模拟
44 0
|
6月前
|
前端开发
【每日一题Day228】LC2460对数组执行操作 | 模拟+双指针
【每日一题Day228】LC2460对数组执行操作 | 模拟+双指针
41 0
|
6月前
|
C++
【每日一题Day284】LC722删除注释 | 字符串模拟
【每日一题Day284】LC722删除注释 | 字符串模拟
30 0