22 lines
662 B
Python
22 lines
662 B
Python
|
def double_substring(line):
|
||
|
"""
|
||
|
length of the longest substring that non-overlapping repeats more than once.
|
||
|
"""
|
||
|
result = []
|
||
|
for i in range(len(line) - 1):
|
||
|
for j in range(i + 1, len(line) + 1):
|
||
|
if line[i:j] in line[j:]:
|
||
|
result.append(len(line[i:j]))
|
||
|
|
||
|
if len(result) > 0:
|
||
|
return max(result)
|
||
|
else:
|
||
|
return 0
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
# These "asserts" using only for self-checking and not necessary for auto-testing
|
||
|
assert double_substring('aaaa') == 2, "First"
|
||
|
assert double_substring('abc') == 0, "Second"
|
||
|
assert double_substring('aghtfghkofgh') == 3, "Third"
|