init2022 2021-03-22 15:11 采纳率: 100%
浏览 196
已结题

有多个时间段,格式是hh:mm,如何判断这多个时间段是否涵盖了一整天的所有时间?

有多个小时分钟格式的时间段,例如06:00 - 12:00、13:30 - 19:00、19:00 - 22:30、、全天的时间以半小时划分,也就是半个小时一档,要求判断输入的一个或多个时间段的合集是否涵盖了全天所有的时间,不是单纯的时间段时间相加够24小时。

  • 写回答

2条回答 默认 最新

  • 规则边缘 2021-03-22 17:55
    关注

    1. 定义一个长度为48的布尔数组,记录48个区间的涵盖状态,初始值默认全为false。

    2. 定义一个涵盖状态更新方法,传入一个数组,一个起始下标,一个结束下标。方法体为:将数组从起始下标到结束下标(不包含自身,起始和结束相等时不进行操作)间的元素值设为true。

    3. 循环读取时间段,将时间段转换为数组下标。调用状态更新方法更新涵盖状态数组

    4. 遍历涵盖状态数组,全为true则表示涵盖了一整天的所有时间,否则有缺失。

    PS:整体思路参考位图BitMap。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月11日
  • 已采纳回答 9月3日

悬赏问题

  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法