平方串
题目描述
如果一个字符串由完全相同的两段字符组成,我们称其为平方串。例如:
'aa','ABAB','abcabc' 是平方串。
'aaa','ABCabc','abcab' 不是平方串。
现在给出一个字符串求它所有的连续子串中有多少种平方串。
例如:
'aaabccabccCC',我们会发现 'aa','abccabcc','cc',and 'CC' 这四种平方串。其中 'aa', 'cc' 都出现了 2 次,但是我们只统计一次种树。
输入描述:
输入为一个字符串,长度 length(0 <= length <= 50)。只包含大小写字母。
输出描述:
输出一个整数,即为所求的种数
输入例子:
aaabccabccCC
输出例子:
4
自己的解答
以下这个解答只能通过示例,其他例子还没试,当时还没来得及提交就结束考试了。
def is_pingfang(text):
if len(text) == 1:
return False
elif len(text) % 2 != 0:
return False
else:
return text[len(text) // 2:] == text[:len(text) // 2]
text = "aaabccabccCC"
result_set = list()
for i in range(len(text)):
for j in range(1, len(text) - i + 1):
test = text[i:i + j]
if is_pingfang(test):
result_set.append(test)
# print(result_set)
print(len(set(result_set)))
Last updated
Was this helpful?