Я пытаюсь найти наиболее часто встречающееся письмо в списке слов. Я борюсь с алгоритмом, потому что мне нужно подсчитывать частоту букв в слове только один раз, пропуская дубликаты, поэтому мне нужна помощь в поиске способа подсчета частоты букв во всем списке только с одним вхождением на слово, игнорируя Второе явление.
Например, если у меня есть:
words=["tree","bone","indigo","developer"]
Частота будет:
letters={a:0, b:1, c:0, d:2, e:3, f:0, g:1, h:0, i:1, j:0, k:0, l:1, m:0, n:2, o:3, p:1, q:0, r:2, s:0, t:1, u:0, v:1, w:0, x:0, y:0, z:0}
Как видно из словаря букв: "е" равно 3, а не 5, потому что, если "е" повторяется более одного раза в одном и том же слове, его следует игнорировать.
Это алгоритм, который я придумал, он реализован на Python:
for word in words:
count=0;
for letter in word:
if(letter.isalpha()):
if((letters[letter.lower()] > 0 && count == 0) ||
(letters[letter.lower()] == 0 && count == 0)):
letters[letter.lower()]+=1
count=1
elif(letters[letter.lower()]==0 && count==1):
letters[letter.lower()]+=1
Но это все еще требует работы, и я не могу думать ни о чем другом, я был бы рад любому, кто поможет мне подумать о рабочем решении.