Равный код на равных входных данных имеет разный выход - PullRequest
0 голосов
/ 10 октября 2019

У меня есть код

from collections import Counter
wr = [''.join(set(input())) for i in range(int(input()))]
wr = Counter(wr)
print(max(wr.values()))

И входные данные

8
disease
burned
viewer
praised
despair
burden
diapers
review

Вывод должен быть 3, но иногда вывод 2.

proof

Как это исправить?


Python 3.6.8

1 Ответ

1 голос
/ 10 октября 2019

Проблема с вызовом set, потому что он создает неупорядоченную коллекцию букв. При вызове sorted для набора уникальных букв будет создан упорядоченный список уникальных букв:

from collections import Counter
wr = [''.join(sorted(set(input()))) for i in range(int(input()))]
wr = Counter(wr)
print(max(wr.values()))

Это дает правильный результат теперь при каждом запуске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...