【每日一题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

目录
相关文章
|
17天前
【每日一题Day345】LC2562找出数组的串联值 | 模拟
【每日一题Day345】LC2562找出数组的串联值 | 模拟
21 0
|
17天前
【每日一题Day191】LC2423删除字符使频率相同 | 枚举 分类讨论
【每日一题Day191】LC2423删除字符使频率相同 | 枚举 分类讨论
26 0
|
7月前
|
算法
【代码随想录】LC 27. 移除元素
利用两层循环,第一层循环找到值等于val的元素,第二层循环“移除元素”。(数组移除元素就是将该位置后面的元素依次向前移动一个位置,从而达到“移除”的效果,注意移动的顺序:应该从待移动序列前往后依次向前移动,否则会造成数组元素值“丢失”)
29 0
|
17天前
【每日一题Day195】LC1003检查替换后的词是否有效 | 栈
【每日一题Day195】LC1003检查替换后的词是否有效 | 栈
21 0
|
17天前
|
存储 API
【每日一题Day351】LC2530执行 K 次操作后的最大分数 | 原地堆化
【每日一题Day351】LC2530执行 K 次操作后的最大分数 | 原地堆化
24 0
|
17天前
|
前端开发
【每日一题Day228】LC2460对数组执行操作 | 模拟+双指针
【每日一题Day228】LC2460对数组执行操作 | 模拟+双指针
22 0
|
17天前
【每日一题Day308】LC57插入区间 | 模拟
【每日一题Day308】LC57插入区间 | 模拟
23 0
|
17天前
|
测试技术 索引
【每日一题Day296】LC833字符串中的查找与替换 | 排序+模拟
【每日一题Day296】LC833字符串中的查找与替换 | 排序+模拟
21 0
|
人工智能 测试技术
【每日一题Day39】LC1752检查数组是否经排序和轮转得到 | 模拟
思路:首先判断数组是否进行了轮转,如果未进行轮转,那么只需要判断nums是否为递增;如果进行了轮转,则以轮转位置为分界线,如果两个子数组均为递增顺序,并且后一个子数组中的所有元素均小于等于前一数组中的所有元素,则返回true
57 0
|
机器学习/深度学习
【每日一题Day65】LC2011执行操作后的变量值 | 模拟
思路:遍历整个数组,模拟加一和减一的操作,最后返回结果。进行加一或者减一的操作取决于字符串的第二个字符:
40 0