问题标签 [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 投票
1 回答
641 浏览

c++ - 使用 set_difference 算法找不到错误

我有:

“对象.h”

“对象.cpp”

我有一些适用于对象的功能

问题描述: 我实现了operator<and ,operator==通过它来执行两个实例的比较m_number但是当集合detectedObjectstrackedObjects包含相同m_number的元素时,std::set_difference返回所有元素而不是预期的空结果集。

我什至尝试将函数对象compare作为模板参数提供给集合,但结果我得到了很多编译器错误=并且!=没有正确定义。

我想知道是什么问题?

0 投票
2 回答
2265 浏览

c++ - 列表容器上的 std::set_difference

我正在尝试调用 set_difference 函数,并将结果放在 std::list 上。理论上,可以在任何已排序的容器上执行此操作,对吧?

但是, v 将作为空列表返回。是因为我不能在列表容器上使用它吗?

0 投票
1 回答
727 浏览

r - 数据表列表中的连续 setdiff

使用组织为的数据

我需要提取包含 dtl[[n+1]]] 中行的数据表列表,其中id不存在于 dtl[[n]] 中。我想它会像

请注意,虽然 setdiff 应该只考虑id列,但我希望结果包含每个数据表中的所有列。

0 投票
7 回答
28656 浏览

java - 如何在java中接收地图的差异?

我有两张地图:

我需要接收这些地图之间的差异。是否存在可能是 apache utils 如何接收这种差异?现在似乎需要获取每个映射的条目集并找到 diff1 = set1 - set2 和 diff2 = set2- set1。create summary map =diff1 + diff2 后看起来很别扭。是否存在另一种方式?谢谢。

0 投票
3 回答
2118 浏览

c++ - c ++两个向量之间的区别基于字符串成员的 A 和 B

我有两个向量对象,分别称为 A 和 B。MyType 类没有字段 ID,我想获取位于 A 但不在 B 中的 MyType*。

由于我没有 ID 需要根据字符串字段进行比较。

我的对象的类看起来像这样

现在我想获得差异(a,b)- 所有在 a 而不是 b 的成员。

如何进行此操作。我尝试使用strcmp()来进行比较,但它不起作用。

0 投票
1 回答
122 浏览

sql-server - tsql日期时间设置除操作

我有一个带有日期时间情侣的“检测到的存在”表和一个带有日期时间情侣的“预期存在”表......我想知道我什么时候预期存在但没有......我认为这是与日期时间设置的差异(在 tsql 除了操作数),但我不知道如何用 sql 解决。

如果我不清楚,举个例子:

预期存在值:

DetectedPresence 值:

我想设置日期时间差异(间隙):

你能帮助我吗?谢谢你。

0 投票
2 回答
204 浏览

c# - 如何在旅途中生成 IObservable 索引增量?

我有两个数据源。
其中一个是缓存列表,另一个是通过IObservable<T>.

我想使用 Rx 找出需要对缓存列表 A 执行哪些操作,以使其顺序和内容与新数据相同。

我正在寻找一个函数,它接受一个IEnumerable<T> aandIObservable<T> b并返回一个 observable 来推动操作(插入和删除),a这将使它与b不等待b完成相同。

注意:我知道我不能修改列表或 observable。我不想。

我只想知道,一旦知道这些操作,哪些操作,以什么顺序将其顺序和顺序与 A 相同的假设列表变成其顺序和顺序与 B 相同的列表。

a和都是b唯一的和排序的,T实现IComparable<T>IEquatable<T>

我将int在我的示例中使用 s。

什么?!

考虑这两个序列:

目标是找到一系列将 A 转换为 B 的删除/插入操作。认为A 是缓存数据源,B 是新数据,我想知道如何将这些更新转换为网格而不重新加载它。

行在两个源中排序。

我希望输出形式为

稍后我将通过布尔标志对这些操作进行分组:

这将翻译成人类语言

  1. 删除 A 0和 A 3

    一个 = [150, 100, 70,30, 20] = [100, 70, 20]

  2. 将B 0、 B 1、 B 4、 B 5插入 A:

    A = [ 300 , 200 , 100, 70, 60 , 50 , 20]

  3. 现在 A 与 B 相同。

要求

我要注意几件重要的事情:

  1. A 是保证不会更改的列表。B 是一个冷的 observable,它需要一些时间才能完成,但很快就会产生第一个项目。因此,只要有足够的数据可用,就需要推送结果 observable。

  2. 保证项目在两个来源中都是唯一的。IEquatable<T>

  3. 项目是不可变的,并且保证IComparable<T>在两个源中使用降序排序。

  4. 最好针对添加到 B 左侧的新项目进行优化。这是最常见的情况。然而,考虑到它们的时间戳是适当的(不会破坏排序),项目可能会被删除或插入到任何其他位置。想想 iPhone 相机胶卷。

  5. (*) 如果可能的话,我对纯功能解决方案感兴趣。

伪代码草图

我草拟了一个伪代码算法,它以命令式的方式实现了这一点。

我编造了Current,和语义MoveNext,但这个想法应该是有道理的。awaityield push

我相信你可以用Subject<T>. 但是我不想继续这个解决方案,因为我想知道是否可以纯粹通过组合 Rx 函数来解决它,例如Aggregate,ZipCombineLatest.

你觉得呢?你有没有什么想法?

0 投票
2 回答
642 浏览

php - 在预约时间前 30 - 15 - 5 分钟通过电子邮件发送预约的 cron 作业

如何找出时间之间的差异,例如约会时间是

下午 4:30 但我想通过 cron 作业 30 分钟、15 分钟或 5 分钟发送通知

下午 4:30 之前

但我不知道如何获得时差,以便我可以做出一个 if 语句来通知 ex 如果设置为 30 分钟电子邮件将在下午 4:00 发送

前任:

0 投票
3 回答
202 浏览

couchdb - CouchDB 设置差异/不在条件

我准备在我的项目中使用 CouchDB。但找不到一种方法来实现像 SQL 这样的视图SELECT * FROM Employees WHERE LastName NOT IN (SELECT LastName FROM Managers)。换句话说,我想从视图 A 中获取一个集合,但不在视图 B 中。问题:如何在 CouchDB 中实现 not-in 条件?

0 投票
1 回答
758 浏览

matlab - 如何掌握 MATLAB 中的随机生成器以应用于引导人工神经网络模型

我正在处理水文时间序列数据,并且正在尝试构建 Bootstrap 人工神经网络模型。为了使用置信区间提供不确定性评估,必须确保在重新采样/引导原始时间序列数据集时,原始时间序列中的每个值在所有引导样本中至少保留两次,以便计算方差和那个时间点的置信区间。

提供一些背景:

我正在使用一个包含每月时间步长的标准降水指数值的水文时间序列,这个时间序列跨越 429(行)x 1(列),我们称之为时间序列向量X。的所有元素/值在X和 之间进行标准化和0标准化1

X然后针对神经网络中的一些目标值(与 相同的长度和条件)训练时间序列X,以生成对目标值的新估计,我们称之为输出向量O(与 相同的长度和条件X)。

我现在要对其进行X重新采样ii =1:1:200(即 Bootstrap size = 200)以替换长度(429)。让我们将放置所有引导样本的矩阵称为M。我使用B = randsample(X, length(X), true)并使用 for 循环进行填充M,这样M(:,ii) = B. 注意:我还确保rng('shuffle')在我的randsample声明之后加入,以保持 RNG 移动到新状态,希望它能提供更多随机结果。

现在我要测试我的数据被重新采样以用于创建置信区间的“好坏”程度。

我的程序如下:

  1. 使用上述过程生成一个 for 循环以创建 M
  2. 创建一个新变量Xc,这将保存所有X未在引导示例中重新采样的值ii for ii = 1:1:200
  3. For j=1:1:length(X) fill 'Xc' using the Xc(j,ii) = setdiff(X, M(:,ii)),如果元素j存在,则用M(:,ii)填充。Xc(j,ii)NaN
  4. Xc现在是一个与 大小和维度相同的矩阵M。计算NaN每行中值的数量Xc并将其放入 vector 中CI
  5. 如果 中的任何行CI> [Bootstrap sample size, for this case (200) - 1],则此时无法创建置信区间。

当我运行它时,我发现从我的集合 X 中选择的值几乎总是重复的,即相同的值X用于生成 中的所有样本M。它与我的原始时间序列中的大约 200 个数据点大致相同,这些数据点总是被选择来创建新的引导样本。

我怎样才能有效地改变我的程序或使用任何特定的功能来避免(5)中的负面解决方案?

这是我的代码示例,但请记住,脚本中使用的变量可能与我在此处的文本不同。

感谢您的帮助,请参阅下面的代码。