【发布时间】:2013-07-05 00:02:19
【问题描述】:
我想找到一种算法来计算数组的不同子数组的数量。
例如,在A = [1,2,1,2]的情况下, 不同子数组的数量为 7:
{ [1] , [2] , [1,2] , [2,1] , [1,2,1] , [2,1,2], [1,2,1,2]}
在B = [1,1,1]的情况下,不同子数组的数量为3:
{ [1] , [1,1] , [1,1,1] }
子数组是数组的连续子序列或切片。 不同表示不同的内容;例如:
来自 A[0:1] 的 [1] 和来自 A[2:3] 的 [1] 没有区别。
同样:
B[0:1]、B[1:2]、B[2:3] 不不同。
【问题讨论】:
-
@user93353:这不是数学。这是一个算法问题
-
你的例子是错误的。有 8 个子数组。你忘了
[],它是每个数组的子数组。否则,您必须将sub-array定义为 非空 连续序列...