【问题标题】:Finding time ranges which intersect with given time range查找与给定时间范围相交的时间范围
【发布时间】:2016-11-09 20:57:03
【问题描述】:

假设我们有一长串时间范围:

var timeRanges = [...] as Array<[Date, Date]>

及时间范围:

var searchTimeRange = [startDate, endDate]

我们必须从timeRanges 数组中找到与searchTimeRange 范围相交的元素。

我正在考虑使用 d3 四叉树,但它似乎不支持矩形作为输入。一般来说,我想避免 O(n)。

【问题讨论】:

    标签: javascript d3.js quadtree


    【解决方案1】:

    好吧,这很简单,我用过:R-Tree。

    https://github.com/mourner/rbush

    它允许高效的查询。

    【讨论】:

      【解决方案2】:
      function processTimes = function(time) {
        return (time > searchTimeRange[0] && time < searchTimeRange[1])
      }
      
      var processedTimes = timeRanges(filter(processTimes))
      

      【讨论】:

      • 我想避免 O(n)
      • 不可能
      猜你喜欢
      • 2014-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多