问题标签 [set-difference]

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 投票
3 回答
1372 浏览

sql - SQL - 设置差异并获取不属于差异的字段

我有一个基本上执行如下操作的查询:

在此示例中ab、 和c是此表的关键字段。state也是键的一部分,我正在尝试查找状态 A 有记录但状态 B 没有记录的情况。我想报告另一个字段(不在键中)value,,对于不同州的相同记录,这可能会有所不同。例子:

在这种情况下,我对键是1,3,9状态为 A 的行感兴趣。我也想获取value列的值,但如果我尝试:

我会得到两行:

基本上,我想value在结果集中有,但不参与minus. 我觉得我在这里遗漏了一些明显的东西,但也许我太累了,无法得到它……;)

0 投票
4 回答
3046 浏览

list - 似乎无法理解“列表差异”(\\)运算符

(\\)在 Haskell 中听说过术语“列表差异”运算符,但仍然不太清楚如何理解它。有什么例子或想法吗?

0 投票
6 回答
251 浏览

c# - 从列表中删除项目而不遇到集合修改异常的最有效方法?

我有 2 个列表:

如果我这样做,ListA.Except(ListB)我会返回一个异常迭代器,这将使我可以遍历 ListA 以获取不在 ListB 中的任何项目。问题是它的实现也是简单地使用 ListA (出于某种原因,我认为它会创建一个不同的项目的新集合)。好吧,我发现它仍然使用 ListA 作为源,但只是使用了一种特殊类型的迭代器。因此,当然,当我从 ListA 中删除一个项目时,它会抱怨该集合已被修改。

我可以想出几种方法来做我想做的事,首先是复制 ListA 并在副本上执行 except。第二个是只做一个while循环。我只是想知道这个问题的最佳解决方案是什么,以及什么遵循标准指南。

如果我以错误的方式解决这个问题,我很想知道这一点。我的主要目标是使用键作为比较从不在 DictB 中的 DictA 中删除所有内容。

0 投票
4 回答
40748 浏览

c# - 在 C# 中的两个列表之间获取不同的列表

我有两个字符串列表。如何获取它们之间的不同值列表或从第一个列表中删除第二个列表元素?

结果应该是{"you","live"}

0 投票
2 回答
704 浏览

c++ - 执行 set_difference 时出错:变量结果不是结构

我已经在全局函数之外声明了一个 set 变量。

现在我尝试在函数中填充该结构。

我得到这个编译错误:

编辑:

删除下划线不起作用。我现在尝试了:

这给了我另一个编译错误。:

0 投票
1 回答
627 浏览

c++ - c ++中set_difference的替代方法是什么

我有两个sets。他们有一些共同的元素(集合有字符串作为他们的元素)

like : set1有元素

set2有元素

我想将值“1-1”取出到一组中,将值“1-3”取出到另一组中。我知道set_difference会为我完成这项工作。但是我遇到了一些问题。set_ifference在此处查看

有没有其他方法可以使用set_difference实现相同的结果?

0 投票
2 回答
851 浏览

c++ - 错误:插入器不是 std 的成员

我有如下代码:

它给了我一个错误:

0 投票
1 回答
444 浏览

c++ - c++ 中的错误?-c++ 中的 set_difference 不返回 std::copy

我有如下代码:

我得到的编译错误是overloading ambiguity std::copy(.... 问题是set_difference返回像 return copy(first1,last1,result);

在此处查看 set_difference 的算法。

set_difference 返回如下:

如果是的std::copy话就不会有任何问题。

我尝试将我的声明放在如下块中:

但这不起作用。我知道问题出在我们为自己的目的编写并在许多地方使用的复制功能上。我想在这里使用std::copy。有人可以帮忙吗?

0 投票
2 回答
3780 浏览

sql - 在 firebird 数据库中设置的 MINUS 代数运算符

我有两个相同的查询,在同一张表上应用了不同的过滤器。

第一个查询返回(1,2,3,4,5),第二个返回(3,4,5)

我想应用 MINUS/EXCEPT 运算符:

我应该如何使用 firebird SQL 方言来实现这个逻辑?(我正在使用超级服务器 v2.1)

我得到了相反的结果

谢谢

0 投票
2 回答
1699 浏览

list - 如何做一个集合差异,除了不消除重复元素

我正在尝试在 Matlab 中执行以下操作。取两个可能包含重复元素的数字列表,然后从另一个集合中减去一个集合。

例如:A=[1 1 2 4];B=[1 2 4];

期望的结果是 AB=C=[1]

或者,另一个例子,E=[3 3 5 5]; F=[3 3 5];

期望的结果是 EF=G=[5]

我希望我可以使用 Matlab 的集合操作来做到这一点,但他们的函数 setdiff 不尊重矩阵中的重复元素。我很欣赏从严格的集合论的角度来看这是正确的,但我仍然想解决这样的问题:“我有 3 个苹果和 4 个橙子,你拿了 2 个苹果和 1 个橙子,我还剩多少。” 我在这些集合中的可能值范围是数千个,因此出于速度原因,构建一个大矩阵来计算元素然后减去矩阵似乎并不可行。在 gui 菜单操作期间,我将不得不使用数千个设置元素进行数千次这样的计算。

我想避免处理上面第二个例子的例子: E=[0 0 2 0 2]; F=[0 0 2 0 1];

G=EF=[0 0 0 0 1];

谢谢你的帮助!