题目大意
给一行字符串,要求字符串里面单词出现次数最多的那个
输入
每组包含一个测试用例,对每个用例都是一行字符串,且长度不超过1048576个字符,以换行结束。
输入至少包含一个字母数字字符,即匹配的单词的字符都应该在集合
[
0
−
9
∣
A
−
Z
∣
a
−
z
]
[0-9|A-Z|a-z]
[0−9∣A−Z∣a−z]里面
输出
对每个测试用例,输出出现次数最多的单词和次数,如果有多个,输出字典序最大的那个
解析
使用python的正则表达式即可完成匹配的工作,然后再用字典解决计数问题,最后对结果排序即可。但是要注意的是这题的单词不区分大小写
# -*- coding: utf-8 -*-
# @Time : 2019/6/29 11:31
# @Author : ValarMorghulis
# @File : 1071.py
import re
def solve():
s = input()
words = re.findall('[0-9|A-Z|a-z]+', s)
words = [i.lower() for i in words]
dic = dict()
ans, num = "", 0
for i in words:
if i not in dic:
dic[i] = 0
dic[i] += 1
ans = sorted([[dic[i], i] for i in dic], key=lambda x: (-x[0], x[1]))
print(ans[0][1], ans[0][0])
if __name__ == "__main__":
solve()