[杨小白]_leetcode_力扣第 316 场周赛-力扣-第一题

141 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第27天,点击查看活动详情

前言

小白算法比较菜,希望能激励我每日更新,从leetcode第一题开始,2022年目标300题,记录从0到1的全过程!!

力扣第 316 场周赛-力扣

力扣第 316 场周赛-力扣

这次第三题就是hard,想破头也没想出来。直接掉大分啊!当时看第二题太复杂就先去看第三题了,早知道先把第二题做了,说不定还能不掉分。。

image.png

第315双周赛的排名 image.png

第314双周赛的排名 image.png

第313周赛的排名

image.png

2446. 判断两个事件是否存在冲突

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

event1 = [startTime1, endTime1] 且 event2 = [startTime2, endTime2] 事件的时间为有效的 24 小时制且按 HH:MM 格式给出。

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

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

示例 1

  • 输入:event1 = ["01:15","02:00"], event2 = ["02:00","03:00"]
  • 输出:true
  • 解释:两个事件在 2:00 出现交集。

示例 2

  • 输入:event1 = ["01:00","02:00"], event2 = ["01:20","03:00"]
  • 输出:true
  • 解释:两个事件的交集从 01:20 开始,到 02:00 结束。

示例 3

  • 输入:event1 = ["10:00","11:00"], event2 = ["14:00","15:00"]
  • 输出:false
  • 解释:两个事件不存在交集。

提示

  • evnet1.length == event2.length == 2.
  • event1[i].length == event2[i].length == 5
  • startTime1 <= endTime1
  • startTime2 <= endTime2
  • 所有事件的时间都按照 HH:MM 格式给出

代码

比较时间,好像在前两次的一个周赛里面出现过,并没有什么复杂的,拆分好数据之后,比较时分就可以了。

class Solution {
    public boolean haveConflict(String[] event1, String[] event2) {
        String star1 = event1[0];
        String end1 = event1[1];
        String star2 = event2[0];
        String end2 = event2[1];
        if (isPre(end1, star2) || isPre(end2, star1)) {
            return false;
        }
        return true;
    }

    private boolean isPre(String time1, String time2) { //判断time1是否在time2之前
        String[] time1S = time1.split(":");
        String[] time2S = time2.split(":");
        int hour1 = Integer.parseInt(time1S[0]);
        int m1 = Integer.parseInt(time1S[1]);
        int hour2 = Integer.parseInt(time2S[0]);
        int m2 = Integer.parseInt(time2S[1]);
        return  hour1 * 100 + m1 < hour2 * 100 + m2;
    }
}

3.结束

又是掉分的一场周赛,第三题就不会了。现在居然是个二题选手了,太难过了,怎么感觉越来有越菜了。gogogo,刷题刷题,每天一道,三年1000道!!!!