在python中找出给定字符串中不同子字符串数量的程序
假设,我们得到了一个由's'表示的子串。我们必须找出唯一的子串并返回这些子串的数量作为输出。
因此,如果输入类似于s='prrstvt',则输出将为26。
不同的子串将是-
'pr','rrs','st','rr','tv','rstv','stvt','prrstv','prrstvt','rrstvt','s','prrst','stv','rrstv','rst','v','tvt','rstvt','r','rs','vt','t','prr','p','rrst',和'prrs'。
示例
让我们看看以下实现以获得更好的理解-
def solve(s):
visited = dict()
for ind, let in enumerate(s):
temp = set()
if ind-1 in visited:
for has_let in visited[ind-1]:
temp.add(has_let+let)
temp.add(let)
visited[ind] = temp
res = set()
for sets in visited:
res.update(visited[sets])
return len(res)
print(solve('prrstvt'))输入
'prrstvt'输出结果
26