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

qy_蓝桥杯编程系列_编程22 不停的上课

编程22 不停的上课

本题要用到二维数组,以及时间轴的巧妙运算,虽然比较难想到我觉得,但写过一次之后就大概率不会有问题啦~

一、 题目简介

image
这题看起来还是比较简单的,手算的话大家都会,但是要如何用代码计算呢,可能会比看上去复杂一点,因为这n行数据每一行都要相互比较,且不拘泥于同列的比较。如样例中的第一、二行,可以看到第二个时间段开始的比第一个时间段晚(1000>800),再比较第一个时间段的结束时刻1000(第2列)和第二个时间段的起始时刻1000(第一列),两个相等得出两个时间段无交集,此时再用一维数组就没办法做到了,所以我们需要将输入的数组存储在二维数组中,再进行如上述的比较得出交集。

二、 解题方法

2.1 二维数组存储数据

  因为是动态的输入存储,所以可以用一个循环来解决
代码演示

arr = []
for i in range(n):a, b = map(int, input().split())arr.append([a, b])

当然也有很多别的写法可探索,比如将a,b先转换为列表形式再添加到arr数组,或者将这些简写成一行等等:

arr = [list(map(int, input().split())) for _ in range(n)]

2.2 求交集

  集合求交集大家都会,但是这样的n行 [起始时刻,结束时刻] 的数据,求任意两行数据的交集,输出最大交集,还是需要发现一点系统性的规律来帮我们通过算法计算。

EE3358EAB8123452445916FA7059A398
如图想要两个时间段有交集,则需两个时间段结束时刻比较后更小的时刻与起始时刻比较后更大的时刻之间构成一个时间段,以下是具体代码展示

完整代码

n = int(input())
arr = []
for i in range(n):a, b = map(int,input().split())arr.append([a, b])intersection = 0
for i in range(n):for j in range(i+1, n):inter_start = max(arr[i][0],arr[j][0])inter_end = min(arr[i][1],arr[j][1])intersection = max(intersection,inter_end - inter_start)print(intersection)
http://www.gsyq.cn/news/100138.html

相关文章:

  • 5步掌握Python多尺度地理加权回归实战:从数据准备到结果解读
  • PiKVM硬件选型指南:从入门到专业部署的完整方案
  • iOS调试兼容性终极解决方案:全版本DeviceSupport文件使用指南
  • OpenWrt路由解锁网易云音乐全攻略:从零部署到高阶配置
  • PKHeX自动化修改插件终极指南:3分钟打造完美合法宝可梦队伍
  • 分布式事务模式选择实战指南:2PC与Saga深度解析
  • Source Han Serif TTF:开源中文字体的完美解决方案
  • java综合练
  • Java爬虫入门(2/5)
  • 【单片机】如何理解GPIO的配置寄存器?
  • vue基于Spring Boot的 综合游戏攻略社区论坛交流系统的设计_t8c09gu2
  • Free-NTFS-for-Mac终极免费方案:苹果电脑完美读写NTFS磁盘完整指南
  • 终极指南:用Lan Mouse实现跨设备无缝控制的完整方案
  • 抖音无水印视频下载器:3分钟学会永久保存高清视频
  • 突破大文件处理瓶颈:视频分段技术的实战应用指南
  • ret2shellcode+一点点基础
  • TouchGAL社区完整手册:构建纯净Galgame文化生态的终极指南
  • 回忆录(一)
  • 如何快速配置PotPlayer百度翻译插件:新手完全指南
  • 揭秘BlenderGIS:5分钟搞定专业级地形生成的秘密武器
  • 2025最新榜单:十大短视频获客公司用户口碑真实测评,短视频代运营团队/短视频运营公司/抖音运营公司/小红书代运营短视频获客系统怎么选择 - 品牌推荐师
  • ThinkPad双风扇智能调速:告别噪音困扰的终极解决方案
  • 如何轻松实现B站4K视频下载:3个步骤掌握bilibili-downloader
  • 二叉树
  • 65.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--账本合并
  • 2026在线题库小程序源码(练习+知识库)
  • MouseTester:专业鼠标性能测试工具完整指南
  • docker容器通过host.docker.internal访问宿主机的注意事项
  • Nugget下载工具完整指南:极简高效的命令行文件获取方案
  • 原神帧率同步机制深度解析与性能优化实践