标签: interval-intersection

范围交叉算法优于O(n)?

范围交叉是一个简单但非平凡的问题.

已经回答了两次:

第一个解决方案是O(n),第二个解决方案是数据库(当然小于O(n)).

我有同样的问题,但对于一个大的n,我不在数据库中.

这个问题似乎与存储2D点非常相似,可以快速检索矩形内的那些,但我看不到它是如何映射的.

那么你将数据结构存储在哪个数据结构中,以便搜索范围的成本低于O(n)?(使用可用于Java的库的额外功劳)

编辑:

我想获得所有相交范围的子集,这意味着搜索范围可以与多个范围相交.

Java中需要小于O(n)的方法是:

public class RangeSet {
    ....
    public Set<Range> intersects(Range range);
    ....
}
Run Code Online (Sandbox Code Playgroud)

其中Range只是一个包含一对int start和end的类.

这不是一个不可能的问题,我已经有了解决方案,我只是想看看是否有更标准/更简单的方法

java algorithm big-o search interval-intersection

24
推荐指数
3
解决办法
2万
查看次数

R中逻辑向量中连续值的相交范围

我有两个逻辑向量,它们看起来像这样:

x = c(0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0)
y = c(0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0)
Run Code Online (Sandbox Code Playgroud)

我想计算连续值范围之间的交集。这意味着连续值(1 秒)作为一个范围处理。所以在上面的例子中,每个向量包含一个 1 的范围,并且这些范围只相交一次。

是否有任何用于范围交叉的 R 包可以在这里提供帮助?

r range interval-intersection

4
推荐指数
1
解决办法
80
查看次数

检测重叠日期重复规则

我正在使用一个看起来像 Google 日历的应用程序,但有一个主要区别:事件不应与其他事件有交叉。这意味着没有两个事件可以共享相同的时间,即使是分钟粒度。这对于仅存储会议的日历特别有用,因为不可能同时参加两个会议。

就像 Google 日历一样,可以使用重复规则(例如,每个周五和周日上午 10 点到下午 13 点)创建事件。因此,我想仅使用rrules(python-dateutil 模块)来检测重叠事件,而不需要创建 N 个日期时间对象并检查每个对象的交集。

是否可以仅使用 rrules 来检测重叠日期?另一个库中是否已经实现了类似的功能?

python intersection interval-intersection python-datetime python-dateutil

4
推荐指数
1
解决办法
1908
查看次数