问题标签 [contiguous]

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 回答
248 浏览

c++ - 如何实现指向其他多类型向量的 C++ 向量?

我想将多种类型的元素存储在一个向量中,同时保持相同类型的元素连续。这些类型派生自一个基类,我希望在整个开发周期中实现不同的类型。出于这个原因,如果将新类型添加到列表中的过程非常简单,将会有所帮助。

我可以通过以下方式(在一定程度上)实现这一点:

然而,这并不干净,易于维护,也不易于编译(保存数据的类包含在许多地方)。

一个更编译友好(但更丑陋)的选项我认为正在做这样的事情

(嗯!)

有什么可以像这样通用的吗?

编辑:

这种结构的动机是在实体-组件设计模式中存储组件。

我希望类型(或者更确切地说,组件)是连续的的原因是能够以缓存友好的方式遍历它们。这意味着我希望实例本身是连续的。虽然使用连续指针会给我一个类似于我想要的行为,但如果它们指向内存中的“随机”位置,那么在获取它们的数据时仍然会发生缓存未命中。

避免内存碎片是一个很好的额外好处。

主要思想是拥有一个干净的管理器类型类来保存并提供对这些元素的访问。不希望有其他开发人员必须添加到此类的多个成员向量,只要这需要创建新类的用户来更改此管理器类。对此容器类的编辑应该尽可能简单,或者希望不存在。

找到解决方案

感谢 Dmitry Ledentsov 将我指向这篇文章。这几乎就是我想要的。

0 投票
2 回答
121 浏览

sql - 仅选择 DB2 SQL 中的连续记录

所以我有一个读数表(下面是高度简化的版本)-有时阅读历史记录会中断(请参阅我标记为 N 的记录)-“从阅读”应始终与之前的“阅读”或'To Read' 应该总是匹配后面的 'From Read' 但我只想选择读取中第一个'break'的记录。

我将如何在 DB2 SQL 中编写查询以仅返回标有“Y”的行?

编辑:连续标志是我手动添加的以表示我想选择的记录,它在表上不存在。

提前致谢!Ĵ

0 投票
2 回答
131 浏览

sql-server - 连续顺序 tsql

我正在寻找 tsql 中的连续算法。我的数据设置如下。

结果:

下面是数据的可视化表示。

按 AreaId 排序,我正在寻找连续的组。由于 V2 跨越 B、C 和 E 区域,因此 D 中的 V2 和 V3 不能以一个连续的顺序排列。上面的数据集可以分为两组。(V5、V2、V1 和 V3、V4)或(V5、V3、V4 和 V2、V1)。我可以根据超出问题范围的数量列来决定哪个集合优先。

根据算法的结果集,我会更新PocketGroupId,这样我就可以根据PocketGroupId进行查询,我会知道它是一个连续的组。

期望的结果应该是这样的。

任何想法如何实现这一点。提前致谢。

0 投票
2 回答
120 浏览

algorithm - 给定 k 个排序的数字,将它们变成连续数字的最小成本是多少?

假设,我们有一个k个数字的排序列表。现在,我们要将这个排序列表转换为具有连续数字的列表。唯一允许的操作是我们可以增加/减少一个数字。执行每一个这样的操作都会导致总成本增加一倍。

现在,如何在如上所述转换列表时最小化总成本?

我的一个想法是获取排序列表的中位数并将数字排列在中位数周围。之后,只需添加新创建的列表和原始列表中相应数字之间的绝对差。但是,这只是一种直观的方法。我没有任何证据。

PS:

这是Topcoder 问题的一个子部分。

0 投票
0 回答
193 浏览

scala - 在 Spark 中评估和组合连续记录

因为我是 Spark/Scala 的新手,所以我正在处理我的第一个问题,我想知道是否有一种简单的方法可以通过 Spark 本地操作和 scala 方法来处理它们,因为也许我遗漏了一些东西。

假设我有一个文本文件日志(以前排序),每行代表人|时间

Peter|5:45 Peter|6:05 Peter|6:27 Peter|6:58 Peter|6:59 Peter|7:59 Mark|7:40 Mark|7:55 Mark|8:30

现在我可以创建一个存储人员和时间的 RDD:

我想要的是一个新值(间隔),表示连续记录(对于同一个人)属于相同的时间间隔,如果它们的差异小于 30 分钟。

在下表中,您可以看到:

  • 记录 #1 和 #2 相差 20 分钟,因此它们处于相同的区间
  • 记录 #2 和 #3 相差 22 分钟,因此它们处于相同的间隔
  • 记录 #3 和 #4 相差 31 分钟,因此它们不在同一时间间隔内(使 #1 #2 #3 成为第一个时间间隔,而 #4 成为下一个时间间隔的第一条记录)

所以我的RDD应该是这样的:

这是否可以通过合理的努力实现,或者我是否从 Spark 本机操作与 Scala 方法相结合中假装太多?

也许使用 Spark-SQL 来操作我的数据集可能会更容易,因为我更熟悉 SQL,但我也想熟悉 Spark 核心。

每一个建议、提示、代码示例都将不胜感激。

提前致谢

法郎

0 投票
2 回答
201 浏览

c++ - 使用 std::nth_element 时,第 n 个元素的重复项是否总是连续的?

这是否总是会导致:

或者其他可能的结果是:

我已经在我的机器上尝试了多次,导致第 n 个值始终是连续的。但这不是证据;)。

它的用途:

我想构建一个独特的 Kdtree,但我的向量中有重复项。目前我正在使用 nth_element 来查找中值。问题是选择一个唯一/可重构的中位数,而不必再次遍历向量。如果中值是连续的,我可以选择一个唯一的中值,而无需太多遍历。

0 投票
0 回答
230 浏览

python - 使用 Python 的 Contig 扩展

我想向程序中添加一个函数,该程序使用接收重叠群(incon = 初始重叠群;dna 序列)的 dna 序列创建字典,并通过在字典中以键的形式查找重叠部分并将值与“+”运算符。

我将举一个简单的例子:

GATTTGAAGC 作为初始重叠群

ATTTGAAGC:A 是字典中的众多条目之一

我希望函数搜索这样一个重叠部分(我昨天在这里问过这个问题,它本身和特定值都可以正常工作,但在函数中没有变量),它是字典中的一个键,并将该键的值连接到初始序列(将 contig 向右扩展)并将新序列保存到其中,incon然后删除此字典条目并重复,直到没有留下任何条目(这部分我什至还没有尝试过)。

首先,我希望该函数搜索长度为 9 且值为长度 1 (ATTTGAAGC:A) 的键,并且如果长度为 8 且长度值为 2 (fe ATTTGAAG:TG) 的键没有重叠部分,依此类推。

附加信息:字典“suffixDicts”具有长度从 1(键长度为 14)到 10(键长度为 5)的值的条目。

“读取”是存储序列列表的位置

当我尝试一个接一个地执行这些步骤时,一些工作(例如搜索)而有些则没有,但是当我尝试从中构建一个功能时,实际上什么也没有发生。该函数应该返回最小的扩展名。

我对 Python 很陌生,我可能犯了非常可怕的错误,我希望指出它们。我知道我对此有些不知所措,但我现在理解了现有代码的大部分内容,但我自己在其中实现某些东西仍然存在问题,可能是由于不正确的合成器。我知道有些程序我可以使用,但我想了解它背后的全部内容。

编辑:根据要求,我将添加已经给定的功能。其中一些已经编写了我根据给定代码编写的一些部分(基本上我通过一些调整复制了它)。警告:很多:

阅读 Fasta 文件:附加信息:Fasta 文件包含大量的序列形式:

"> 阅读 1

TTATGAATATACGCAATGGACGTCCAAGGTACAGCGTATTTGTACGCTA

"> 阅读 2

AACTGCTATCTTTCTTGTCCACTCGAAAATCCATAACGTAGCCCATAACG

"> 阅读 3

TCAGTTATCCTATATACTGGATCCCGACTTTAATCGGCGTCGGAATTACT

我在这里上传了文件:http ://s000.tinyupload.com/?file_id=52090273537190816031

编辑:编辑大块代码似乎没有必要。

0 投票
1 回答
1488 浏览

java - 使用从 java 程序调用的 Windows 命令提示符将具有多个连续空格的字符串作为参数传递给 jar 文件

我想使用在另一个 java 程序中调用的 Windows 命令提示符将具有多个连续空格的字符串作为参数传递给 jar 文件。java 文件是这样的,它打印所有的参数:

现在,这就是我从另一个 java 程序调用上述 main 方法并打印输出的方式:

所以当我运行上面的程序时,它会打印:

这正是问题所在!我希望 args[0] 包含三个空格,但无论我做什么,我都无法获得至少两个连续空格的 args[0]。

有趣的是,如果我直接从 cmd.exe 调用 myClass 的 main 方法,如下所示:

我会有以下输出:

,而且令人惊讶的是,它的空间被保留了!

如果有人可以帮助我,我将不胜感激。

0 投票
2 回答
5435 浏览

c - 使用递归直接输出结果的最大和连续子数组

是否可以使用递归找到最大和的连续子数组,以便函数直接返回输出。

下面是我的解决方案,我存储在每个索引处结束的最大子数组,然后在 print() 函数中找到最大的子数组。但是,我想要以下

  1. 使用递归
  2. 使用递归函数直接输出最终结果。

我的代码使用递归函数和辅助 print() 函数来查找这些数字中的最大值

编辑:发布我以某种方式错过的 print() 函数

0 投票
1 回答
68 浏览

sum - x 个元素的最大连续子序列和

所以我想出了一个我已经查看和搜索但没有找到答案的问题......获得x元素的最大连续子序列和的最好(并且说最好,我的意思是最快)方法是什么?

想象一下我有:A[] = {2, 4, 1, 10, 40, 50, 22, 1, 24, 12, 40, 11, ...}。然后我问:

请想象一下这个数组有超过 100000 个元素......有人可以帮我吗?

谢谢你的时间,你的帮助!