【发布时间】:2016-07-09 19:22:53
【问题描述】:
我正在尝试查找字符串中的所有子字符串。也就是说,长度为 N 的字符串中长度为 1 到 N 的所有字符串。
示例
N = '1079'
subStrings = [1,0,7,9,10,07,79,107,079,1079]
第一次尝试
我有一个解决方案适用于相对较小的 N 字符串,但在较大的 N 上,解决方案非常慢。这是当前的解决方案:
N = 'somestring'
l = N.length
k = 1
subStrings = []
while (k <= l) {
i = 0
while (i + k <= l) {
subStrings.push(N.slice(i,k+i))
i++
}
k++
}
// subStrings is an array containing the substrings
如何提高算法的性能以返回所有子字符串?
【问题讨论】:
-
您的代码中的
v是什么?指定结果慢的数字 -
复制的残余,已更新。
-
不应该
subints排除1079吗?这个问题也是关于工作代码的性能改进,更多属于codereview.stackexchange.com。 -
那么,它在多少长度时会变慢?
-
它应该包括完整的整数,所以“子整数”可能是一个糟糕的术语。
标签: javascript algorithm performance