2023-035-17每日一題
一、題目編號
2446. 判斷兩個事件是否存在沖突
二、題目鏈接
點擊跳轉(zhuǎn)到題目位置
三、題目描述
給你兩個字符串?dāng)?shù)組 event1 和 event2 ,表示發(fā)生在同一天的兩個閉區(qū)間時間段事件,其中:
event1 = [startTime1, endTime1] 且
event2 = [startTime2, endTime2]
事件的時間為有效的 24 小時制且按 HH:MM 格式給出。
當(dāng)兩個事件存在某個非空的交集時(即,某些時刻是兩個事件都包含的),則認(rèn)為出現(xiàn) 沖突 。
如果兩個事件之間存在沖突,返回 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,結(jié)束時間分別為F1,F2。那么只需要判斷兩個區(qū)間是否存在交集即可,這在高中時期便已經(jīng)學(xué)過了。文章來源:http://www.zghlxwxcb.cn/news/detail-448101.html
(3) 最后返回結(jié)果即可。文章來源地址http://www.zghlxwxcb.cn/news/detail-448101.html
到了這里,關(guān)于2023-05-17 LeetCode每日一題(判斷兩個事件是否存在沖突)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!