如何计算预定时间段内已安排时间段的长度?

如何计算预定时间段内已安排时间段的长度?

算法:计算预定时间段内已安排时间段的总时长

给定两个数组 paiban (预定时间段) 和 paiban2 (已安排时间段),目标是计算 paiban2 中,落在 paiban 各个时间段内的已安排时间段的总时长。

改进的解决方案:

网易人工智能 网易人工智能

网易数帆多媒体智能生产力平台

网易人工智能 206 查看详情 网易人工智能

之前的方案只计算了满足条件的已安排时间段的数量,而非时长。 我们需要修改算法来计算时长。 假设时间以分钟为单位。

function calculateScheduledTime(paiban, paiban2) {  const results = paiban.map(item => {    let totalTime = 0;    const filtered = paiban2.filter(({ starttime, endtime }) => {      // 转换为分钟数方便计算      const itemStartMinutes = timeToMinutes(item.starttime);      const itemEndMinutes = timeToMinutes(item.endtime);      const startMinutes = timeToMinutes(starttime);      const endMinutes = timeToMinutes(endtime);      // 检查已安排时间段是否完全在预定时间段内      return itemStartMinutes = endMinutes;    });    filtered.forEach(({ starttime, endtime }) => {      totalTime += timeToMinutes(endtime) - timeToMinutes(starttime);    });    return totalTime;  });  return results;}function timeToMinutes(time) {  const [hours, minutes] = time.split(':').map(Number);  return hours * 60 + minutes;}const paiban = [  { id: 1, starttime: '08:00', mouth: 10, endtime: '09:00', checked: false },  { id: 2, starttime: '09:00', mouth: 10, endtime: '10:00', checked: false },  { id: 3, starttime: '10:00', mouth: 10, endtime: '11:00', checked: false },];const paiban2 = [  { id: 1, starttime: '08:00', endtime: '08:10' },  { id: 2, starttime: '08:10', endtime: '08:20' },  { id: 3, starttime: '08:30', endtime: '08:50' },  { id: 4, starttime: '09:00', endtime: '09:10' },  { id: 5, starttime: '09:10', endtime: '09:20' },  { id: 6, starttime: '10:00', endtime: '10:10' },  { id: 7, starttime: '10:10', endtime: '10:20' },  { id: 8, starttime: '10:20', endtime: '10:40' },];console.log(calculateScheduledTime(paiban, paiban2)); // [30, 20, 40]  (in minutes)

这个改进后的代码首先定义了一个 timeToMinutes 函数将时间字符串转换为分钟数,然后在 calculateScheduledTime 函数中计算每个预定时间段内已安排时间段的总时长(以分钟为单位)。 输出结果更直观地反映了已安排时间的实际时长。 注意,这个算法假设已安排的时间段不会超过预定时间段。 如果需要处理这种情况,需要添加额外的逻辑。

以上就是如何计算预定时间段内已安排时间段的长度?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1146935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
U盘装机大师启动盘制作教程
上一篇 2025年12月2日 19:06:59
庆典气氛拉满 《希望OL》狮子城新场景
下一篇 2025年12月2日 19:07:02

相关推荐

发表回复

登录后才能评论
关注微信