2023-035-17每日一题
一、题目编号
2446. 判断两个事件是否存在冲突
二、题目链接
点击跳转到题目位置
三、题目描述
给你两个字符串数组 event1 和 event2 ,表示发生在同一天的两个闭区间时间段事件,其中:
event1 = [startTime1, endTime1] 且
event2 = [startTime2, endTime2]
事件的时间为有效的 24 小时制且按 HH:MM 格式给出。
当两个事件存在某个非空的交集时(即,某些时刻是两个事件都包含的),则认为出现 冲突 。
如果两个事件之间存在冲突,返回 true ;否则,返回 false 。
四、解题代码
class Solution {
public:
bool haveConflict(vector<string>& event1, vector<string>& event2) {
int h1;
int h2;
int h3;
int h4;
h1 = ((event1[0][0] - '0') * 10 + (event1[0][1] - '0')) * 60 + (event1[0][3] - '0') * 10 + event1[0][4];
h2 = ((event1[1][0] - '0') * 10 + (event1[1][1] - '0')) * 60 + (event1[1][3] - '0') * 10 + event1[1][4];
h3 = ((event2[0][0] - '0') * 10 + (event2[0][1] - '0')) * 60 + (event2[0][3] - '0') * 10 + event2[0][4];
h4 = ((event2[1][0] - '0') * 10 + (event2[1][1] - '0')) * 60 + (event2[1][3] - '0') * 10 + event2[1][4];
if(h1 <= h4 && h2 >= h3){
return true;
}
if(h3 <= h2 && h4 >= h1){
return true;
}
return false;
}
};
五、解题思路
(1) 首先思考时间的形式,为X1X2:X3X4,如果用该形式表示时间,是一定不方便进行判断的,所以改成分钟形式(X1 * 10 + X2)* 60 + X3 * 10 + X4.
(2) 得出两个事件的开始时间分别为B1,B2,结束时间分别为F1,F2。那么只需要判断两个区间是否存在交集即可,这在高中时期便已经学过了。文章来源:https://www.toymoban.com/news/detail-448101.html
(3) 最后返回结果即可。文章来源地址https://www.toymoban.com/news/detail-448101.html
到了这里,关于2023-05-17 LeetCode每日一题(判断两个事件是否存在冲突)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!