问题标签 [set-intersection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3531 浏览

java - 计算 Java Collection 差异或交集的性能

Java 允许通过Collection 接口的和方法计算(集合论)差和两个 Collection 对象的交集removeAll()retainAll()

这两个方法在Java 6的AbstractCollection 类中的实现是

有什么方法可以更快地实现或执行上述(显然很昂贵)操作?

例如,在计算差异或交集之前对集合进行排序是否会带来任何整体性能提升?

是否有任何类别的 Collections 框架更适合使用这些操作(在性能方面)?

0 投票
6 回答
7680 浏览

python - Python自定义集合交集

因此,有一种简单的方法可以通过 set.intersection() 计算两个集合的交集。但是,我有以下问题:

Object是我的 ORM 提供的一个基类,它实现了基本__hash____eq__功能,它基本上将类的每个成员都添加到哈希中。换句话说,__hash__返回的将是类的每个元素的哈希)

在这个阶段,我想只运行一个集合交集操作.name,以找到,说,Person('Bar', -1).intersection(union_list) #= [Person("Bar", -1), Person("Bar", 22), Person("Bar", 24)]。(此时的典型.intersection()不会给我任何东西,我不能覆盖__hash____eq__Person课堂上,因为这会覆盖原来的集合并集(我认为

在 Python 2.x 中执行此操作的最佳方法是什么?

编辑:请注意,解决方案不必依赖set. 但是,我需要找到联合,然后是交叉点,所以感觉这适合一组(但我愿意接受使用你认为值得的任何魔法的解决方案,只要它解决了我的问题!)

0 投票
2 回答
348 浏览

c++ - 减去包含重复元素的向量

是否有任何优雅的方法来减去std::vector包含重复元素的 s?


例子:

我希望结果是:


我目前(而且非常慢)的解决方案:

我的另一个想法是:

但这有点容易出错,对我来说看起来并不优雅。

还有其他想法吗?

0 投票
1 回答
177 浏览

visual-c++ - VS2010 中的错误与 set_intersection() 并设置

我正在尝试使用 set_intersection() 函数。我的代码如下所示

这里的问题似乎与这条线有关

与我在本网站上看到的其他一些页面中的使用相比,这似乎是正确的。编译时出现以下错误

我在这里想念什么?谢谢。

0 投票
3 回答
8107 浏览

c++ - C ++比较2个字符串列表

在 Python 中,set 对于比较 2 个字符串列表非常方便(请参阅此链接)。我想知道 C++ 在性能方面是否有一个好的解决方案。因为每个列表中都有超过 100 万个字符串。

这是区分大小写的匹配。

0 投票
1 回答
10176 浏览

python - Python:为两个列表的交集查找相应的索引

这与我今天不久前提出的一个问题有些相关。我将两个列表的交集如下:

我取交集的两个组件属于两个冗长的列表。是否可以获得相交值的索引?(即原始列表的索引)。

我不太确定从哪里开始。

任何帮助是极大的赞赏!

0 投票
2 回答
1694 浏览

python - Python:试图获取交叉点的索引

可能重复:
Python:为两个列表的交集查找相应的索引

我有以下代码行:

我试图找到上面两个组件的交集索引。两者都是有几个共同点的冗长列表。相交部分完美运行;但是,for 循环似乎什么也没输出。(即:没有打印任何内容)。

Python 没有输出错误,当我在 IPython 中运行代码时,我注意到 i 等同于列表“catdate”中的最后一个元素,而不是列出等同于交集值的“catdate”索引。

任何帮助是极大的赞赏!

0 投票
1 回答
245 浏览

c# - 交点 - 信封

我有Envelope[][] extents = new Envelope[][];建筑。每个信封具有MinX、和属性MaxX,并表示网格的一个图块(左下角和右上角)。现在我有另一个包含 和 的最小值和最大值。我想获得与.MinYMaxYEnvelope bounds;X-Y-axisextentsbounds

有什么简单的方法可以做到这一点Envelope.Intersect吗?

[编辑]
现在我是这样做的(蛮力 xD):

0 投票
2 回答
591 浏览

c# - 获取交叉点的索引

我有个问题。我正在使用下面的代码找到一个交叉点:

它有效,但我想获取相交范围的索引。

例如
, 如果extents[2][7]是一个相交元素,我想得到2and 7

是否可以通过修改我的代码?

[编辑]

bounds是一个内部EnvelopeMinX, MinY,MaxXMaxY属性的。

0 投票
6 回答
9882 浏览

python - python中三组的交集?

目前我被困在试图找到三组的交集。现在这些集合实际上是我正在转换成集合的列表,然后试图找到它们的交集。

这是我到目前为止所拥有的:

我得到

我知道有一种更简单更好的方法可以做到这一点,但我找不到...

编辑

好的,这就是我现在所拥有的。

仍然没有给我我正在寻找的东西:这是我确保在每个列表中的一个匹配项。它给了我看起来像是所有集合的添加。