如果要在Python中的A中寻找字符串B,我想找出时间复杂度是多少? 我了解列表/字典等的不同。我也知道列表的O(n)。字符串也一样吗?复杂度是否为O(len(b)* len(A)?
这是我正在研究的问题: 问题:给出两个字符串A和B,找出必须重复的最小次数,以使B是它的子字符串。如果没有这样的解决方案,则返回-1。
例如,在A =“ abcd”和B =“ cdabcdab”的情况下,返回3,因为重复三遍A(“ abcdabcdabcd”),B是它的子字符串;并且B不是重复两次的A的子字符串(“ abcdabcd”)。
我在Python中的代码如下:
if B in A:
return 1
lenB=len(B)
lenA=len(A)
n=lenB+lenA
output=''
while n>1:
output+=A
n-=lenA
if B in output[:len(output)-lenA]:
return (len(output)-lenA)/lenA
elif B in output:
return len(output)/lenA
else:
return -1