高效率的算法计算最快的时间上的距离间隔

0

的问题

我想知道如果有任何有效的算法的建议,这是快速和不占用太多的资源,用于计算最快的时间间隔的距离在一序列的数据。 换句话说的算法返回的最少时间上的间隔n米,从一个数据集。

例如:

输入

  • data_list:[{距离:0,时间为:0},{距离:1m,时间:2s},{距离:4m,时间:4s}...{距离:10000m,时间:值是3600秒}]
  • distance_interval:345m

输出

  • fastest_interval_start_distance:7655m
  • fastest_interval_end_distance:8000米
  • fastest_interval_time:n秒

谢谢你

algorithm
2021-11-23 23:52:19
1

最好的答案

0

我创建了以下解决方案有一个复杂的运行时间O(n)。 帮助性记忆化,以避免重新计算的数据已经走过.

它的工作具有一分钟的指标和最高的指数相关联的最短时间。

  1. 分的指数开始在index0,0时间,并fastest_interval_start_distance0
  2. 最大的索引分配尽快distance_interval是实现和fastest_interval_end_distance包含的距离价值,在这样的指数
  3. 总之间的时间差异的数据项目是储存在fastest_interval_time
  4. 分的指标和索引max开始向前移动的距离的增加与各数据项目。
  5. 如果总和的时间之间的差异最小和最大低于fastest_interval_time,目前输出的更新包括fastest_interval_start_distance和fastest_interval_end_distance和fastest_interval_time
  6. 边缘情况,包括当的数据集空或distance_interval大于总的距离。 谢谢你!
2021-11-24 02:13:06

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................