鑑於一些串S的所有子計數出現次數,該代碼將計算該字符串的所有可能的子串出現的次數S.Python3.x - 使用字典
#count[i]=no of different substrings in the string that occurs exactly i times
count=[0]*(100001)
a=input()
dic={}
n=len(a)
for i in range(n):
temp=""
for j in range(i,n,1):
temp+=a[j]
if temp in dic:
dic[temp]+=1
else:
dic[temp]=1
for k,v in dic.items():
count[v]+=1
例如,對於字符串「巴」,陣列將是:
- CNT [1] = 4 { 「巴」, 「ABAB」, 「巴巴」, 「BAB」}出現一次
- CNT [2] = 4 { 「aba」,「ab」,「ba」,「b」}恰好出現兩次
- CNT [3] = 1 { 「一」}正好出現三次
- CNT [4] = 0
- CNT [5] = 0
我很興趣知道我的代碼
運行時
你只是問這會表現如何?如果是這種情況,那麼你應該自己測試一下,看看它的工作情況。 – SuperBiasedMan
哪裏有'temp'定義/分配?而'n'? – Pynchia
複雜性不會根據字符串長度而改變,對於「foobar」最糟糕的情況是什麼? –