网站主机托管,易龙天做的网站怎么样,wordpress设置静态之后文章打不开,wordpress如何让一个图片跟随悬浮题目 给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多#xff0c;同时不在禁用列表中的单词。 题目保证至少有一个词不在禁用列表中#xff0c;而且答案唯一。 禁用列表中的单词用小写字母表示#xff0c;不含标点符号。段落中的单词不区分大小写。…题目 给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多同时不在禁用列表中的单词。 题目保证至少有一个词不在禁用列表中而且答案唯一。 禁用列表中的单词用小写字母表示不含标点符号。段落中的单词不区分大小写。答案都是小写字母。 示例 输入: paragraph “Bob hit a ball, the hit BALL flew far after it was hit.” banned [“hit”] 输出: “ball” 解释: “hit” 出现了3次但它是一个禁用的单词。 “ball” 出现了2次 (同时没有其他单词出现2次)所以它是段落里出现次数最多的且不在禁用列表中的单词。 注意所有这些单词在段落里不区分大小写标点符号需要忽略即使是紧挨着单词也忽略 比如 “ball,” hit不是最终的答案虽然它出现次数更多但它在禁用单词列表中。 思路
先处理符号再计算单词出现次数最后取出不在禁用单词里且出现次数最大的单词
class Solution:def mostCommonWord(self, paragraph: str, banned: List[str]) - str: # 处理特殊符号for i in !?,;.:if i in paragraph:# 把所有的符号换成空格paragraph paragraph.replace(i, ).replace( , ) # 将paragraph转为小写字母去掉首位的空格再转换成单词列表res list(paragraph.lower().strip().split( ))dicts {}# 遍历所有单词遍转换成单词为key,出现次数为value的字典for re in res:if re in dicts.keys():dicts[re] 1else:dicts[re] 1# 去除字典中的的禁用单词for key in list(dicts.keys()):if key in banned:del dicts[key]# 返回字典中value最大值的keyreturn list(dicts.keys())[list(dicts.values()).index(max(dicts.values()))]题解
优化一下计算每个单词出现次数的同时不计入禁用单词出现的次数 最后直接去出现次数最大的单词就行
class Solution:def mostCommonWord(self, paragraph: str, banned: List[str]) - str:for i in !?,;.:if i in paragraph:paragraph paragraph.replace(i, ).replace( , )res list(paragraph.lower().strip().split( ))dicts {}# 将转换单词出现次数字典和去除字典中的的禁用单词同步进行for re in res:if re not in banned:if re in dicts.keys():dicts[re] 1else:dicts[re] 1# 用value列表求出最大值的索引用该索引取去key列表的值return list(dicts.keys())[list(dicts.values()).index(max(dicts.values()))]过啦~