【每日一题/简单模拟题】2446. 判断两个事件是否存在冲突

news2024/11/27 16:47:15

⭐️前面的话⭐️

本篇文章介绍【2446. 判断两个事件是否存在冲突】题解,算法标签:【模拟】,【字符串】,展示语言c++/java。

📒博客主页:未见花闻的博客主页
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📌本文由未见花闻原创,CSDN首发!
📆首发时间:🌴2023年5月17日🌴
✉️坚持和努力一定能换来诗与远方!
💭推荐书籍:📚《算法》,📚《算法导论》
💬参考在线编程网站:🌐牛客网🌐力扣
博主的码云gitee,平常博主写的程序代码都在里面。
博主的github,平常博主写的程序代码都在里面。
🍭作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!


📌导航小助手📌

  • ⭐️2446. 判断两个事件是否存在冲突⭐️
    • 🔐题目详情
    • 💡解题思路
    • 🔑源代码
  • 🌱总结


封面


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

🔐题目详情

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

难度简单

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

  • 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 格式给出

💡解题思路

题目所给字符串格式是单一的,我们可以直接解析字符串,将时钟数转换为秒数进行大小比较,最后验证是否存在交集即可。

对于交集的验证,考虑两种情况画个区间就可以了。
1

🔑源代码

c++代码:

class Solution {
public:
    bool haveConflict(vector<string>& event1, vector<string>& event2) {
        int s1 = (((event1[0][0] -'0') * 10 + event1[0][1] - '0') * 60 + 
                    (event1[0][3] - '0') * 10 + event1[0][4] - '0');
        int e1 = (((event1[1][0] - '0') * 10 + event1[1][1] - '0') * 60 + 
                (event1[1][3] - '0') *  10 + event1[1][4] - '0');
        int s2 = (((event2[0][0] - '0') * 10 + event2[0][1] - '0') * 60 +
                (event2[0][3] - '0') * 10 + event2[0][4] - '0');
        int e2 = (((event2[1][0] - '0') * 10 + event2[1][1] - '0') * 60 + 
                (event2[1][3] - '0') * 10 + event2[1][4] - '0');

        //cout << s1 << " " << e1 << " " << s2 << " " << e2 << " " << endl;
        if (s2 <= e1 && e1 <= e2 || s1 <= e2 && e1 >= e2) return true;
        else return false;
   }
};

java代码:

class Solution {
    public boolean haveConflict(String[] event1, String[] event2) {
        String st1 = event1[0];
        String en1 = event1[1];
        String st2 = event2[0];
        String en2 = event2[1];

        int s1 = ((st1.charAt(0) - '0') * 10 + st1.charAt(1) - '0') * 60 + (st1.charAt(3) - '0') * 10 + st1.charAt(4) - '0';
        int e1 = ((en1.charAt(0) - '0') * 10 + en1.charAt(1) - '0') * 60 + (en1.charAt(3) - '0') * 10 + en1.charAt(4) - '0';
        int s2 = ((st2.charAt(0) - '0') * 10 + st2.charAt(1) - '0') * 60 + (st2.charAt(3) - '0') * 10 + st2.charAt(4) - '0';
        int e2 = ((en2.charAt(0) - '0') * 10 + en2.charAt(1) - '0') * 60 + (en2.charAt(3) - '0') * 10 + en2.charAt(4) - '0';

        if (s1 <= e2 && e1 >= e2 || s2 <= e1 && e2 >= e1) return true;
        return false;
    }
}

🌱总结

简单模拟题。


觉得文章写得不错的老铁们,点赞评论关注走一波!谢谢啦!

1-99

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/538017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

某大学信息安全竞赛——栈迁移加强版——只溢出0x8,无限ROP

芝士题目&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1uwFlcSg94MuC2tPi-HCb9w 提取码&#xff1a;joj6 感悟&#xff1a; 之前我只做过溢出超过0x10这样的栈迁移&#xff0c;思路就是找机会去泄露栈空间的地址然后把栈迁移到我们可以控制的栈空间&#xff0c;亦…

Linux_证书_Openssl工具详解

文章目录 OpenSSLopenssl实现对称加密openssl生成密钥对、非对称加密、数字签名根据CA颁布证书生成ca私钥和ca证书根据ca生成证书 小结 OpenSSL OpenSSL 是一个开源项目&#xff0c;其组成主要包括一下三个组件&#xff1a; openssl&#xff1a;多用途的命令行工具 libcrypt…

【滤波专题-第7篇】“类EMD”算法分解后要怎样使用(3)——EMD降噪方法及MATLAB代码实现

使用EMD分解&#xff08;以及其他“类EMD”分解方法&#xff0c;以下为了简便统称EMD&#xff09;做信号降噪&#xff0c;是EMD的一个比较重要的应用方向。EMD可以将复杂的信号分解为一系列的固有模态函数&#xff08;IMFs&#xff09;&#xff0c;每一个IMF都包含了信号的一部…

“源擎”攻破银行核心系统建设痛点

银行业作为操作密集、数据密集、风险密集的行业&#xff0c;在向云转型的过程中面临着诸多独特的挑战&#xff0c;如银行需要具备不间断的业务创新能力&#xff0c;而不被系统开发周期制约&#xff1b;单一系统的开发和升级方式&#xff0c;越来越难以满足日益综合化的业务创新…

chatgpt赋能Python-pycharm关联python

Pycharm关联Python的介绍 Pycharm是一种非常流行的Python集成开发环境&#xff0c;开发人员可以在其中编写、调试和运行Python代码。Pycharm具有许多有用的功能&#xff0c;这些功能可以大大提高代码的效率和质量。其中一个最重要的功能是Pycharm如何关联Python&#xff0c;这…

HTB靶机012-Valentine-WP

012-Valentine 靶机IP&#xff1a;10.10.10.79 Scan nmap端口扫描&#xff1a; ┌──(xavier㉿kali)-[~] └─$ sudo nmap -sSV -T4 10.10.10.79 -F Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 00:47 CST Nmap scan report for 10.10.10.79 Host is up (0.30s…

chatgpt赋能Python-pycharm和python关联

PyCharm与Python&#xff1a;超越代码编写的完美结合 如果你是一位Python开发者&#xff0c;那么你肯定需要一个好用的开发环境&#xff0c;以便快速且高效地完成代码任务。而PyCharm就是这样一个优秀的Python开发IDE。它专注于提高Python开发速度和质量&#xff0c;让Python编…

Flowable 生成的表都是干嘛的?(一)

一.简介 Flowable 默认一共生成了 79 张数据表&#xff0c;了解这些数据表&#xff0c;有助于我们更好的理解 Flowable 中的各种 API。 接下来我们就对这 79 张表进行一个简单的分类整理。 ACT_APP_*&#xff08;5&#xff09;ACT_CMMN_*&#xff08;12&#xff09;ACT_CO_*…

chatgpt赋能Python-pycharm取消所有断点

Pycharm取消所有断点&#xff1a;提高编程效率的必备技巧 Pycharm作为Python程序员必备的开发工具之一&#xff0c;其强大的调试功能广受好评。但是&#xff0c;在开发过程中&#xff0c;我们可能会设置过多的断点或者设置了错误的断点&#xff0c;这样会让程序的运行速度变慢…

Java面向对象程序设计实验报告(实验四 抽象类的练习)

✨作者&#xff1a;命运之光 ✨专栏&#xff1a;Java面向对象程序设计实验报告 ​ 目录 ✨一、需求设计 ✨二、概要设计 ✨三、详细设计 ✨四、调试结果 ✨五、测试结果 ✨附录&#xff1a;源程序代码&#xff08;带注释&#xff09; demo4类 Car类 Circle类 Shape…

谷歌chrome浏览器无法自动播放video标签视频的问题

问题根源详见&#xff1a;Chrome中的自动播放政策>> https://developer.chrome.com/blog/autoplay/ The Autoplay Policy launched in Chrome 66 for audio and video elements and is effectively blocking roughly half of unwanted media autoplays in Chrome. For t…

基于数组实现的顺序表(SeqList)

顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构&#xff0c;一般情况下采用数组存储。在数组上完成数据的增删查改。 它的详细定义如下&#xff1a; 顺序表是一种数据结构&#xff0c;用于存储一组具有相同数据类型的元素&#xff0c;并按照元素在内存中的…

数据库【库,表操作】

目录 简单了解1.连接数据库服务器2.创建数据库3.创建表4.使用数据库5.数据库框架6.SQL的分类7.存储引擎 库操作1.创建数据库2.查看系统默认字符集以及校验规则3.查看数据库支持的字符集和校验规则4.查看数据库5.显示数据库语句6.删除数据库7.修改数据库8.备份和恢复9.查看连接情…

20 SQL——多表查询 (消除无效笛卡尔积)

create table dept(id int primary key auto_increment,name varchar(15))comment 部门;insert into dept(id, name) values (1,研发部),(2,市场部),(3,财务部),(4,销售部),(5,总经办),(6,人事部);create table staff (id int primary key auto_increment commentID,name …

【面试篇】Redis持久化面试题

文章目录 Redis持久化&#x1f64e;‍♂️面试官&#xff1a;什么是Redis持久化&#xff1f; AOF日志AOF日志原理&#x1f64e;‍♂️面试官&#xff1a;AOF日志是怎么工作的/AOF写入磁盘的流程&#xff1f;&#x1f64e;‍♂️面试官&#xff1a; 刚刚说到了Redis先执行写入的…

Discourse Math 插件

概述Discourse Math 使用 MathJax (默认) 或者 KaTeX 来让你在你的 Discourse 中使用数学公式。 仓库链接GitHub - discourse/discourse-math: Official MathJax support for Discourse Install Guide如何在 Discourse 中安装插件 这个插件是 Discourse 官方提供的插件&#x…

javascript基础一:Javscript数组的常用方法有哪些?

在日常开发中&#xff0c;我们对数组可以说操作最多&#xff0c;这里我们来整理下数组的一下最常用的方法 数组基本操作可以归纳为 增、删、改、查&#xff0c;需要留意的是哪些方法会对原数组产生影响&#xff0c;哪些方法不会 下面对数组常用的操作方法做一个归纳 一、基本…

ChatGPT国内免费使用的方法有哪些?

目录 一、ChatGpt是什么&#xff1f; 二、ChatGPT国内免费使用的方法&#xff1a; 第一点&#xff1a;电脑端 第二点&#xff1a;手机端 三、结语&#xff1a; 一、ChatGpt是什么&#xff1f; ChatGPt是美国OpenAI [1] 研发的聊天机器人程序 。更是人工智能技术驱动的自然语…

【C++数据结构】二叉搜索树的使用和模拟实现及其应用--K模型和KV模型

文章目录 一、二叉搜索树的概念二、二叉搜索树的操作及其实现(非递归)1.二叉搜索树节点和类的定义2.二叉搜索树的构造函数3.二叉搜索树的拷贝构造4.二叉树搜索树的赋值重载5.二叉搜索树的析构函数6.二叉搜索树的中序遍历7.二叉搜索树的查找8.二叉搜索树的插入9.二叉搜索树的删除…

瑞吉外卖 - 分页查询分类功能(12)

某马瑞吉外卖单体架构项目完整开发文档&#xff0c;基于 Spring Boot 2.7.11 JDK 11。预计 5 月 20 日前更新完成&#xff0c;有需要的胖友记得一键三连&#xff0c;关注主页 “瑞吉外卖” 专栏获取最新文章。 相关资料&#xff1a;https://pan.baidu.com/s/1rO1Vytcp67mcw-PD…