当前位置: 首页 > article >正文

Leetcode 2494. 合并在同一个大厅重叠的活动

1.题目基本信息

1.1.题目描述

表: HallEvents

±------------±-----+

| Column Name | Type |

±------------±-----+

| hall_id | int |

| start_day | date |

| end_day | date |

±------------±-----+

该表可能包含重复字段。

该表的每一行表示活动的开始日期和结束日期,以及活动举行的大厅。

编写解决方案,合并在 同一个大厅举行 的所有重叠活动。如果两个活动 至少有一天 相同,那么它们就是重叠的。

以任意顺序返回结果表。

1.2.题目地址

https://leetcode.cn/problems/merge-overlapping-events-in-the-same-hall/description/

2.解题方法

2.1.解题思路

临时变量+分组

2.2.解题步骤

第一步,使用临时变量@g表示上一行的分组(hall_id相同同时有重叠时间事件为同一分组),@e表示当前hall的最大结束时间,@h表示上一行的hall_id;然后遍历过程中更新三个临时变量

第二步,通过分组g进行分组获取重叠事件的整合

3.解题代码

sql代码

# Write your MySQL query statement below# 第一步,使用临时变量@g表示上一行的分组(hall_id相同同时有重叠时间事件为同一分组),@e表示当前hall的最大结束时间,@h表示上一行的hall_id;然后遍历过程中更新三个临时变量
WITH T AS (SELECT *, @g := IF(@h = hall_id AND @e >= start_day, @g, @g + 1) AS g, @e := IF(@h = hall_id AND @e >= end_day, @e, end_day) AS e, @h := hall_id AS hFROM (SELECT * FROM HallEvents ORDER BY hall_id, start_day, end_day) AS t1, (SELECT @g:=0, @e = NULL, @h = NULL) AS init
)
# 第二步,通过分组g进行分组获取重叠事件的整合
SELECT hall_id, MIN(start_day) AS start_day, MAX(end_day) AS end_day
FROM T
GROUP BY g

4.执行结果

http://www.lryc.cn/news/2403453.html

相关文章:

  • vue+elementui 网站首页顶部菜单上下布局
  • 网络安全-等级保护(等保) 3-3-1 GB/T 36627-2018 附录A (资料性附录) 测评后活动、附 录 B (资料性附录)渗透测试的有关概念说明
  • pytorch3d+pytorch1.10+MinkowskiEngine安装
  • AI Infra运维实践:DeepSeek部署运维中的软硬结合
  • MySQL体系架构解析(二):MySQL目录与启动配置全解析
  • 深度学习在RNA分子动力学中的特征提取与应用指南
  • K8s基础一
  • 2025五大免费变声器推荐!
  • StringRedisTemplete使用
  • SDC命令详解:使用set_min_capacitance命令进行约束
  • 几何引擎对比:OpenCasCade、ACIS、Parasolid和CGM
  • OD 算法题 B卷【猴子吃桃】
  • 汽车安全体系:FuSa、SOTIF、Cybersecurity 从理论到实战
  • Excel-vlookup -多条件匹配,返回指定列处的值
  • Python异步爬虫与代理完美结合
  • 惠普HP Deskjet 9600 打印机信息
  • Hive的Parquet格式优化方法
  • ADI硬件笔试面试题型解析下
  • 服务器租用:高防CDN和加速CDN的区别
  • 吃透 Golang 基础:数据结构之 Map
  • ABP VNext 与 Neo4j:构建基于图数据库的高效关系查询
  • 数论——同余问题全家桶3 __int128和同余方程组
  • leetcode47.全排列II:HashSet层去重与used数组枝去重的双重保障
  • 5.Nginx+Tomcat负载均衡群集
  • React项目的状态管理:Redux Toolkit
  • 跨界破局者鲁力:用思辨与创新重塑汽车流通行业标杆
  • Druid连接池实现自定义数据库密码加解密功能详解
  • OS11.【Linux】vim文本编辑器
  • 基于SFC的windows系统损坏修复程序
  • 强化学习基础概念图文版笔记