我不明白以下连续子序列的定义:
列表 S 的连续子序列是由 S 的连续元素组成的子序列。
如果 S 是
{5, 15, -30, 10, -5, 40, 10}
那么是一个连续的子序列。15, -30, 10
什么使
15, -30, 10
成为连续子序列?
假设子序列中有一些元素,
那么如果按顺序取出的元素在原始集合中是连续的,则它将被称为连续的。
例如,
序列=2,3,abc,5.6,4,abhishek;
子序列=5.6,2,abhishek;
连续子序列=3,abc,5.6 或 5.6,4,abhishek 或 abc,5.6.
记住,序列本身始终是连续的子序列。
希望它能让概念清晰!
形成集合内彼此相邻的子集。
con·tig·u·ous/kənˈtigyo͞oəs/Adjective
1. Sharing a common border; touching.
2. Next or together in sequence.
这与编程没有直接相关,但
15, 30, -15
是一个连续的子序列,因为您可以在给定列表中以相同的顺序找到它们(当然元素之间没有任何空洞)。
在系列 (5,15,-30,10,-5,40,10) 中,5,15,-30 是一个接一个的,所以它们是连续的,但 5,15,40 不是连续的,因为我们跳过了 -30, 10,-5,取40。在达斯古普塔的书中,我们需要找到主系列的一个子系列,使其总和最大。在本例中为 10,-5,40,10。即 (10-5+40+10=55)。
嗯,也许是因为根据你的定义它们是连续的?
它们是原始数组的元素,并且都是连续的。
连续元素是连续元素。
分别列出数组 S 中的一些元素,而不跳过该列表中间的任何元素。
序列只是有序的元素。
S = a1,a2,a3 ...,an
例如,序列 S 可以是:S = {5, 15, -30, 10, -5, 40, 10}
这也可以写成:S = 5, 15, -30, 10, -5, 40, 10
序列的子序列是指我们通过保留元素的相对顺序来选取一些元素,并且其中允许有间隙。
创建子序列很容易。考虑 S = 1, 2, 3, 4, 5
现在我们只删除一些元素,但我们不想改变剩余元素的顺序。
例如:如果 S = 1, 2, 3, 4, 5
(我们删除 2, 4)
那么 S' = 1, 3, 5 是 S
的子序列
并且 S'' = 1, 5, 3 不是 S 的子序列,因为 5 和 3 的顺序未保留
连续子序列是其中没有间隙的子序列。它们在某种程度上相当于子数组。
形式上,如果 S' = ai, ai+1, ai+2 ..., aj-1, aj,则 S' 是 S 的子序列,其中 1 <= i <= j <= n, and i and j are both positive integers.
例如:如果 S = 1, 2, 3, 4, 5, 6, 7
那么 S' = 4, 5, 6 是连续子序列。
而 S'' = 2, 4, 5, 6 虽然是 S 的子序列,但不是 S 的连续子序列。
(不要将子序列与集合混淆。这可能是因为我们有时对它们使用集合符号(如 {})。序列具有有序元素。)
子序列可以由原始子序列中的任何项目子集组成, 所以上面的 {5,10,40} 是一个有效的子序列。连续子序列受到更多限制,它要求元素是列表中的连续元素,NOT值是连续的,但从原始元素中取出的元素的位置是连续的。我怀疑这种区别是 OP 的混淆点。
15, -30, 10
不是连续的序列。
来自 用户 Brad 的答案表明您引用的数字序列不连续。您还可以通过运行 geeksforgeeks.org 中的代码来验证这一点。