2023-05-17 LeetCode每日一题(判断两个事件是否存在冲突)

这篇具有很好参考价值的文章主要介绍了2023-05-17 LeetCode每日一题(判断两个事件是否存在冲突)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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。那么只需要判断两个区间是否存在交集即可,这在高中时期便已经学过了。

(3) 最后返回结果即可。文章来源地址https://www.toymoban.com/news/detail-448101.html

到了这里,关于2023-05-17 LeetCode每日一题(判断两个事件是否存在冲突)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【LeetCode - 每日一题】1073. 负二进制数相加 (2023.05.18)

    基数为 -2 。 实现两个 0/1 数组串的加法。 这是一道模拟题。 设 arr1[i] 和 arr2[i] 是数组 arr1 和 arr2 从低到高的第 i 位数。 首先回顾普通的二进制数的相加,从低位开始计算,在计算的同时维护用一个变量 carry 维护进位信息,因此,对于第 i 位的结果 ans[i] = arr1[i] + arr2[i] + c

    2024年02月05日
    浏览(49)
  • 2023-08-17 LeetCode每日一题(切披萨的方案数)

    点击跳转到题目位置 给你一个 rows x cols 大小的矩形披萨和一个整数 k ,矩形包含两种字符: ‘A’ (表示苹果)和 ‘.’ (表示空白格子)。你需要切披萨 k-1 次,得到 k 块披萨并送给别人。 切披萨的每一刀,先要选择是向垂直还是水平方向切,再在矩形的边界上选一个切

    2024年02月12日
    浏览(38)
  • 2023-05-15LeetCode每日一题(按列翻转得到最大值等行数)

    点击跳转到题目位置 给定 m x n 矩阵 matrix 。 你可以从中选出任意数量的列并翻转其上的 每个 单元格。(即翻转后,单元格的值从 0 变成 1,或者从 1 变为 0 。) 返回 经过一些翻转后,行与行之间所有值都相等的最大行数 (1) 首先思考一个问题,如果光给 一行元素 的话,那

    2024年02月05日
    浏览(31)
  • 2023-06-17 LeetCode每日一题(分割圆的最少切割次数)

    点击跳转到题目位置 圆内一个 有效切割 ,符合以下二者之一: 该切割是两个端点在圆上的线段,且该线段经过圆心。 该切割是一端在圆心另一端在圆上的线段。 一些有效和无效的切割如下图所示。 给你一个整数 n ,请你返回将圆切割成相等的 n 等分的 最少 切割次数。

    2024年02月09日
    浏览(41)
  • Leetcode每日一题:1444. 切披萨的方案数(2023.8.17 C++)

    目录 1444. 切披萨的方案数 题目描述: 实现代码与解析: 二维后缀和  + 动态规划 原理思路:         给你一个  rows x cols  大小的矩形披萨和一个整数  k  ,矩形包含两种字符:  \\\'A\\\'  (表示苹果)和  \\\'.\\\'  (表示空白格子)。你需要切披萨  k-1  次,得到  k  块披萨

    2024年02月12日
    浏览(42)
  • 每日一题——判断链表中是否有环

    题目 判断给定的链表中是否有环。如果有环则返回true,否则返回false。 数据范围:链表长度 0≤n≤10000,链表中任意节点的值满足 ∣val∣=100000 要求:空间复杂度 O(1),时间复杂度 O(n) 输入分为两部分,第一部分为链表,第二部分代表是否有环,然后将组成的head头结点传入到

    2024年02月16日
    浏览(44)
  • Leetcode每日一题——“合并两个有序数组”

    各位CSDN的uu们你们好呀,又到小雅兰的愉快题解时候啦,今天,我们的题目内容是合并两个有序数组,下面,让我们进入合并两个有序数组的世界吧 示例 1: 输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3 输出:[1,2,2,3,5,6] 解释:需要合并 [1,2,3] 和 [2,5,6] 。 合并结果是 [ 1,2

    2023年04月24日
    浏览(57)
  • Leetcode-每日一题【1669.合并两个链表】

    给你两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个。 请你将 list1 中下标从 a 到 b 的全部节点都删除,并将list2 接在被删除节点的位置。 下图中蓝色边和节点展示了操作后的结果:   请你返回结果链表的头指针。 示例 1: 输入: list1 = [0,1,2,3,4,5], a = 3, b

    2024年02月13日
    浏览(38)
  • (字符串 ) 剑指 Offer 05. 替换空格 ——【Leetcode每日一题】

    难度:简单 请实现一个函数,把字符串 s 中的每个 空格 替换成 “ %20 ”。 示例 1: 输入:s = “We are happy.” 输出:“We%20are%20happy.” 限制 : 0 = s 的长度 = 10000 💡思路:双指针法 如果想把这道题目做到 极致 ,就不要只用额外的辅助空间了! 首先扩充数组到每个空格替换

    2024年02月08日
    浏览(33)
  • 【力扣每日一题】2023.8.13 合并两个有序数组

    目录 题目: 示例: 分析: 代码: 题目给我们两个升序数组,让我们合并它们,要求合并之后仍然是升序,并且这个合并操作是在数组1原地修改的。数组1的有效数据长度为 m ,而数组1的长度为 m + n,n 是数组2的有效数据长度以及数组的长度。 比较直观容易想到的做法就是

    2024年02月12日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包