Учитывая строковый абзац и массив строк запрещенных слов, вернуть наиболее часто встречающееся слово, которое не запрещено. Гарантируется, что есть хотя бы одно слово, которое не запрещено, и что ответ уникален.

Слова в абзаце нечувствительны к регистру, и ответ должен быть возвращен в нижнем регистре.


import re

class Solution:
    def mostCommonWord(self, paragraph: str, banned: List[str]) -> str:
        #List words in paragraph, replacing punctuation with ' ' and all lower case
        paragraph = re.subn("[.,!?;']", ' ', paragraph.lower())[0].split(' ')

        #Remove any '' or words in banned from paragraph list
        paragraph = list(filter(lambda x: x not in banned + [''], paragraph))

        #Return most common word in filtered list
        return Counter(paragraph).most_common(1)[0][0]




Войти в полноэкранный режим

Выйти из полноэкранного режима