问题标签 [subset]

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 投票
10 回答
37205 浏览

java - 从集合中选择随机子集的最佳方法?

我在 Vector 中有一组对象,我想从中选择一个随机子集(例如 100 个返回的项目;随机选择 5 个)。在我的第一个(非常仓促的)传球中,我做了一个非常简单且可能过于聪明的解决方案:

虽然这具有美观和简单的优点,但我怀疑它不会很好地扩展,即 Collections.shuffle() 必须至少为 O(n)。我不太聪明的选择是

有关从集合中提取随机子集的更好方法的任何建议?

0 投票
10 回答
54943 浏览

c# - 检查一个数组是否是另一个数组的子集

关于如何检查该列表是否是另一个列表的子集的任何想法?

具体来说,我有

如何使用 LINQ 检查 t2 是否是 t1 的子集?

0 投票
2 回答
1017 浏览

sql - 根据另一个表的小计更新字段

我正在使用 oracle(10)。

我有两个表如下:

Table2 与通过 ID 连接的 Table1 多对一连接。

我需要的是更新 Table1.DATE:Table2 的最后(最早)日期,其中 Table1.AMOUNT - SUM(Table2.AMOUNT1) <= 0,当通过 Table2.DATE 字段向后读取表 2 时。

有没有简单的方法来做到这一点?

提前致谢!

更新:正如我从你的回答中看到的那样,我有点错误地指定了这个问题。所以这里有一个详细的例子:

表 1 有:

表 2 具有(对于 ID:1,因此此处未列出 ID):

所以在这种情况下,我需要20080111将 Table1 中的 DATE 设为 50+30+25 => 100。

0 投票
2 回答
1514 浏览

cocoa - 如何访问 Cocoa 中大型 NSDictionary 的特定子集?

我有一个包含大量自定义对象的 NSDictionary 对象。对象要么属于 B 类,要么属于 C 类,两者都从 A 类继承。如果对象属于 B 类,它们将有一个内部标志 (kindOfCIsh),用于将来的分组。

如何在我的程序中的不同时间获取包含这些对象的不同分组的 NSDictionary(或 NSArray)?在一种情况下,我需要所有 B,但另一种情况下,我需要所有 C 对象,以及满足 (kindOfCIsh == true) 的 B 对象。

有没有一种简单的方法可以访问这些子集?也许使用过滤谓词?当然,我可以遍历整个字典并手动构建所需的子集,但我觉得有更好的方法。

任何帮助表示赞赏。

0 投票
6 回答
2141 浏览

algorithm - 查找具有特定子集的集合

我是一名物理学研究生,我正在编写一些代码来对数百 GB 的数据进行排序,并在我要求时返回该数据的切片。这是诀窍,我不知道排序和搜索这种数据的好方法。

我的数据本质上由大量的数字组成。这些集合中可以包含 1 到 n 个数字(尽管在 99.9% 的集合中,n 小于 15)并且这些集合中大约有 1.5 到 20 亿个(不幸的是,这个大小排除了蛮力搜索)。

我需要能够指定一个包含 k 个元素的集合,并让每个包含 k+1 个元素或更多元素的集合返回给我。

简单示例:
假设我的数据有以下集合:
(1,2,3)
(1,2,3,4,5)
(4,5,6,7)
(1,3,8,9)
( 5,8,11)

如果我提出请求 (1,3),我将拥有以下集合:(1,2,3)、(1,2,3,4,5) 和 (1,3,8,9)。
请求 (11) 将返回集合:(5,8,11)。
请求 (1,2,3) 将返回集合:(1,2,3) 和 (1,2,3,4,5)
请求 (50) 将不返回集合:

现在模式应该很清楚了。这个例子和我的数据的主要区别是我的数据的集合更大,集合中每个元素使用的数字从 0 到 16383(14 位),还有很多很多很多的集合。

如果重要的话,我会用 C++ 编写这个程序,尽管我也知道 java、c、一些程序集、一些 fortran 和一些 perl。

有没有人知道如何解决这个问题?

编辑:
回答几个问题并补充几点:

1.) 数据不变。这一切都是在一组很长的运行中完成的(每个运行分为 2 个演出文件)。

2.) 至于存储空间。原始数据占用大约 250 GB。我估计,在处理和剥离了很多我不感兴趣的无关元数据之后,我可以将其降低到 36 到 48 GB 之间,具体取决于我决定保留多少元数据(没有索引)。此外,如果在我对数据的初始处理中遇到足够多的相同集合,我可能能够通过添加重复事件的计数器来进一步压缩数据,而不是简单地一遍又一遍地重复事件。

3.) Each number within a processed set actually contains at LEAST two numbers 14 bits for the data itself (detected energy) and 7 bits for metadata (detector number). So I will need at LEAST three bytes per number.

4.) My "though in 99.9% of the sets, n is less than 15" comment was misleading. In a preliminary glance through some of the chunks of the data I find that I have sets that contain as many as 22 numbers but the median is 5 numbers per set and the average is 6 numbers per set.

5.) While I like the idea of building an index of pointers into files I am a bit leery because for requests involving more than one number I am left with the semi slow task (at least I think it is slow) of finding the set of all pointers common to the lists, ie finding the greatest common subset for a given number of sets.

6.) In terms of resources available to me, I can muster approximately 300 gigs of space after I have the raw data on the system (The remainder of my quota on that system). The system is a dual processor server with 2 quad core amd opterons and 16 gigabytes of ram.

7.) Yes 0 can occur, it is an artifact of the data acquisition system when it does but it can occur.

0 投票
1 回答
246 浏览

design-patterns - 基于特定标准获取子集的模式(设计中)

我正在寻找这种一般情况的模式:

“我需要根据直接相关的标准和间接相关的数据来获取数据子集。”

0 投票
22 回答
119333 浏览

c++ - 查找集合的所有子集

我需要一种算法来查找集合中元素数量为 的集合的所有子集n

编辑:到目前为止,我无法理解提供的答案。我想逐步解释答案如何找到子集。

例如,

你怎么知道{1}并且{1,2}是子集?

有人可以帮我用 C++ 中的一个简单函数来查找 {1,2,3,4,5} 的子集吗

0 投票
2 回答
16967 浏览

java - 如何检查一个ArrayList的元素是否都包含在另一个ArrayList中

如何轻松检查一个 ArrayList 中的所有元素是否都是另一个 ArrayList 的所有元素?

0 投票
6 回答
6227 浏览

c# - 在 C# 中枚举集合的子集?

有没有一种好方法可以仅枚举 C# 中 Collection 的一个子集?也就是说,我有一个包含大量对象(例如 1000 个)的集合,但我只想枚举 250 - 340 个元素。有没有一种好方法可以为集合的子集获取枚举器,而无需使用另一个集合?

编辑:应该提到这是使用 .NET Framework 2.0。

0 投票
3 回答
526 浏览

mysql - MYSQL - 在表中生成子集序列

我有下表

我想更新它以拥有这张桌子。

我在 SO 上找到了完美的线程,但它是针对 mssql 的。我使用 mysql 4.1.10。

另一个线程可以在这里找到:为表的子集生成序列

有谁知道我如何在 mysql 中做到这一点?

谢谢你,让-弗朗索瓦