Вот слова слов в качестве ключей,
count_dict = {
'apple':2,
'pie': 1,
'pi':1,
'applepie':1
}
и если одно длинное слово содержит другое короткое слово, добавьте счетчик длинного слова к короткому. Это означает, что результат:
{
'apple':3,
'pie': 2,
'pi':3,
'applepie':1
}
Самый простой способ - использовать простой цикл,
for i in list:
for j in list:
if len(i) < len(j) and i in j:
count_dict[i] += 1
но сложность по времени составляет O (n ^ 2) , что стоит слишком много времени.
Есть ли способ уменьшить сложность, чтобы решить эту проблему?