Top.Mail.Ru

Перечень алгоритмов

22. Строки. Определить символ с максимальной частотой в строке

st ='TFOBMOISUZUTULGEBPSZJKFQWZ' # строка

Способ № 1 Использование словаря


d = {}
for x in st:
  
if x in d:
         d[x] +=
1
  
else:
         d[x] =
1
maxkey = max(d, key = d.get)
print(maxkey)

# U
Временная сложность: O (n)

 

 

Способ № 2 Использование генератора

mxkey = max(st, key=lambda x: st.count(x))
print(mxkey)

# U
Временная сложность: O (n)

 


Способ № 3 Использование множества и словаря


d = {x:st.count(x) for x in set(st)}

sorted(d)

maxkey = max(d, key = d.get)
print(maxkey)

# U
Временная сложность: O (n)