相关疑难解决方法(0)

生成给定字符串的所有唯一子字符串

给定一个字符串s,生成一组所有唯一子串的最快方法是什么?

示例:因为str = "aba"我们会得到substrs={"a", "b", "ab", "ba", "aba"}.

朴素算法将遍历1..n每个迭代中生成长度的子串的整个字符串,产生O(n^2)上限.

更好的约束可能吗?

(这是技术上的功课,所以也欢迎指针)

language-agnostic algorithm

62
推荐指数
3
解决办法
6万
查看次数

有没有办法在 O(n) 时间内打印字符串的所有子字符串?

我有一个输入abcde。我正在尝试输出这样的内容:

a
ab
abc
abcd
abcde
b
bc
bcd
bcde
c
cd
cde
d
de
e
Run Code Online (Sandbox Code Playgroud)

我无法编写没有嵌套循环的代码。我的问题是这个问题的时间复杂度为O(n)的解决方案是什么?

我的代码如下:

s = "abcde"  
for i in range(len(s)):
    for x in range(i, len(s) + 1):
        a = s[i:x]
        if a != "": print(a)
Run Code Online (Sandbox Code Playgroud)

python string time-complexity nested-loops

5
推荐指数
1
解决办法
3711
查看次数