首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >查找多个间隔之间的最长间隔

查找多个间隔之间的最长间隔
EN

Stack Overflow用户
提问于 2019-06-23 18:24:27
回答 5查看 1.3K关注 0票数 5

假设您有一个变量$n,表示时间轴上的多个分区,以及一个可变长度的间隔数组:

代码语言:javascript
复制
$n = 10;
$intervals = [
  [1, 2],
  [2, 2],
  [5, 6],
  [8, 10],
];

问题是要在时间线上找到这些间隔之间的最大间隔。对于上面的问题,我们有两个长度为2和1的空格,所以答案应该是2。为了更好地可视化它:

我的直截了当的方法效率不高。

  1. 初始化一个长度为$n的空时间线数组,每个元素都设置为'E‘,就像在empty中一样。
  2. 在每个时间间隔内循环,并创建另一个从间隔开始到时间间隔结束的for循环,并将时间线数组中的这些元素设置为'T’,就像在taken中一样。
  3. 循环时间线数组,并启动一个每个连续的'E‘字符递增的$counter,然后如果它的值大于前一个,则将其值保存到变量$max中。

我可以做哪些改进?

请注意:

时间间隔总是根据它们的开始进行排序的,positions.

  • Intervals不一定要从时间轴的开头开始,也不一定要在时间轴的末尾结束。因此,在第一个间隔之前可能存在间隙,而在最后一个interval.

  • Intervals之后可能存在间隙。因此,简单地计算下一个间隔的开始减去这个间隔的结束是行不通的…考虑这个例子: 1,5,6,10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56722946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档